Вопрос

Итак, я использовал MySQL_REAL_ESCAPE_STRING для вставки данных в свою базу данных ... но потом, когда я это делаю, это заменяет все апострофы на символ €

Итак, вместо того, чтобы отобразить это, он отображает это .......

Есть ли способ восстановить эти «апострофы», когда я читаю обратно из базы данных?

Это было полезно?

Решение

Это какая -то проблема кодирования персонажа.

Потому что в UTF-8, (U+2019) кодируется 0xE28099. И это представляет персонажей â (0xe2), (0x80), и (0x99) в Windows-1252.

Так кажется, что ты просто забыл Укажите должным образом кодировку вашего выходного символа так что браузер использует свой символ по умолчанию, кодирующий Windows-1252.

Другие советы

Подать заявление mysql_set_charset UTF-8 в вашем PHP.

Убедитесь, что ваша база данных и приложение используют тот же кодирование символов.

В бинарном, ' идентично по цене ’, поэтому вам необходимо убедиться, что кодирование установлено одинаково.

В вашем приложении PHP вы можете указать это со следующими двумя строками.

define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);

Это устанавливает ваше приложение для использования набора символов UTF-8, который вы должны убедиться, что соответствует сопоставлению вашей базы данных, а затем ваша проблема исчезнет.

Вы можете программически изменить набор символов базы данных с помощью mysql_set_charset функция

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top