Проблема кодирования запросов PHP MySQL - PullRequest
0 голосов
/ 20 января 2011

У меня есть страница с кодировкой utf-8.Mysql установлен в utf8_general_ci.Вот запрос:

 mysql_query("SET CHARACTER SET utf8_general_ci");

               $query = "INSERT INTO newsbox VALUES ('null', '$zaglavie', '$nom_file_big', '$den', '$mesec', '$godina', '$zaglavie2', '$text', '$zaglavie3')";
                $result = mysql_query($query) or die(mysql_error()); 

и вводимый кириллицей текст вставляется как ?????.В чем может быть проблема.

Ответы [ 2 ]

6 голосов
/ 20 января 2011

То, что я склонен находить, многое решает:

mysql_query("SET NAMES 'utf8'");

Перед выполнением любых запросов.

В документации рекомендуется использовать mysql_set_charset, но я часто вижу, что эта функция отсутствует.

if( function_exists('mysql_set_charset') ){
    mysql_set_charset('utf8', $db_con);
}else{
    mysql_query("SET NAMES 'utf8'", $db_con);
}
1 голос
/ 20 января 2011

Я не уверен, работает ли mysql_query ("SET .."), как ожидалось.Попробуйте установить набор символов с помощью mysql_set_charset ().Вы уверены, что текст вставлен так?Если вы используете клиент CLI mysql с неправильным набором символов, вывод на дисплей также может быть ошибочным (что, вероятно, также идет для извлечения через mysql_fetch _ * ()).

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