Письмо-подтверждение и другие графические символы PHP-> JS - PullRequest
0 голосов
/ 10 июня 2010

Я должен прочитать текст через файл php.Этот файл содержит некоторые нормальные значения, поэтому может содержать такие символы:

€ é ò à ° % etc

Я читаю содержимое в php с помощью file_get_contents и преобразую их для выделения в базе данных SQL.У меня есть этот текст, например: "l'attesa �é cruciale fino a quando il topo non viene morso dall'�€" в базе данных У меня есть это:

l'attesa è cruciale fino a quando il topo non veniene morso dall'€

Когда я получаю данные из базы данных, я использую функцию php для декодирования html entites

$descrizione = htmlspecialchars_decode($risultato['descrizione'],ENT_QUOTES);
$descrizione = addslashes($descrizione);

Теперь я использую jasvascript и AJAX для получения содержимого таблицы и отображения на HTML-странице. В браузере вместо получения правильного текста (€, è) у меня есть квадратный символ.Я думаю, что есть некоторый беспорядок с кодом / декодированием кодировки, но никогда не выясняется.

Таблица SQL 'в формате "utf8_unicode_ci" и столбец в "utf8_general_ci".Тип содержимого страницы:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Спасибо за помощь!

1 Ответ

0 голосов
/ 22 июля 2010

addlashes () не является Unicode-совместимым, вы должны использовать другой способ для экранирования кавычек в строках или (что было бы намного лучше) переключиться на использование подготовленных операторов вместо создания SQL-запроса в виде строки.

Более подробную информацию можно найти по адресу: http://eleves.ec -lille.fr / ~ couprieg / post / Bypass-addlashes-with-UTF-8-символов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...