1

Нужно хранить в БД символы наподобие таких: ↓♫@{¥

Затронуто строк: 1. Warning: #1366 Incorrect string value: '\xE2\x98\xBC\xC2\xA7\xE2...' for column 'password' at row 1

Такая ошибка пишется в БД.

И сохраняет примерно вот так ?§??

ReinRaus
  • 17,873
  • 3
  • 47
  • 86
LLIAKAJI
  • 303
  • 1
    Первое что приходит в голову, колдовать с кодировкой таблицы. – zenith Jul 29 '12 at 22:05
  • У меня была похожая проблема http://ru.stackoverflow.com/questions/446408/mysql-обрезает-текст-на-сложном-символе-картинке – RussCoder Oct 03 '15 at 18:57

3 Answers3

2

У меня такая же проблема была с сохранением emoji. Помогло изменение сравнения колонки в базе данных на utf8mb4. Возможно, и Вам оно поможет.

mix
  • 2,593
0

Можно попробовать сохранять ascii или html коды этих символов, преобразовывая при выводе.

Deleted
  • 371
out
  • 491
  • мне так не нужно, надо что бы именно в таблице они хранились, коненчо не в таком виде а в том коде под котором они есть – LLIAKAJI Jul 30 '12 at 10:18
  • тогда сохраняйте их в юникоде, проблем возникать не должно. – out Jul 30 '12 at 11:21
-1

Для этого есть прекрасная функция, которая "эскейпирует" все такие специальные символы для выполнения запроса. Прежде, чем выполнить любой запрос на вставку данных со специальными символами, выполните данную функцию:

   mysql_real_escape_string($string);

Mysql_real_escape_string()

Salivan
  • 2,539