Французские акцентированные символы декодируют для соответствия SQL - PullRequest
1 голос
/ 11 мая 2011

У меня проблема с сопоставлением с французскими символами с акцентом (обратите внимание, что будут использоваться и другие символы, такие как китайский, японский).

Я столкнулся с ошибкой при вводе французского названия улицы, которое проверит базу данных, и у меня возникла ошибка:

Incorrect string value: '\xE2teau' for column 'street_name' at row 1

Для этого символа в этом имени:

Le Château

Я изменил свой столбец на utf8_general_ci, и он по-прежнему выдает эту ошибку. Как вы можете «расшифровать» их, чтобы они соответствовали столбцу?

1 Ответ

3 голосов
/ 11 мая 2011

Вы действительно отправляете данные в формате UTF-8 или отправляете данные в кодировке Latin-1?MySQL может подавиться âte, потому что â передается как байт E2, и он ожидает, что байт с подходящим значением будет следующим, но вместо этого видит 74 для t.Таким образом, строка не является допустимой UTF-8.

Попробуйте использовать utf8_encode() для строкового значения перед созданием запроса?

...