Декодирование символов с французским акцентом для сопоставления с SQL

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

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

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

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

Le Château

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


person MacMac    schedule 11.05.2011    source источник


Ответы (1)


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

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

person Hammerite    schedule 11.05.2011