У меня есть страница с utf-8 encodin. 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());
и текст ввода с кириллицей вставлен как ?????. В чем может быть проблема.
Я не уверен, работает ли mysql_query («SET ..») так, как ожидалось. Попробуйте установить набор символов с помощью mysql_set_charset (). Вы уверены, что текст вставлен так? Если вы используете CLI-клиент mysql с неправильным набором символов, вывод отображения также может быть неисправен (это, вероятно, подходит для поиска через mysql_fetch _ * ()).
То, что я обычно ищу, решает многое;
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); }