mysql_real_escape_string и проблема апострофа - PullRequest
0 голосов
/ 20 декабря 2010

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

, поэтому вместо отображения он отображает ихС .......

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

Ответы [ 3 ]

2 голосов
/ 20 декабря 2010

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

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

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

1 голос
/ 20 декабря 2010

Применить mysql_set_charset к UTF-8 в вашем PHP.

0 голосов
/ 20 декабря 2010

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

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

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

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

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

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

...