Плохие символы при печати текста из таблицы Mysql utf8_unicode_ci - PullRequest
0 голосов
/ 14 марта 2012

Я вставляю / обновляю текст в кодированную таблицу utf8_unicode_ci с mysql_query("SET NAMES 'utf8'");

Появляется как "ş, ğ, ü" в таблице mysql. Но когда я печатаю его на PHP,

это выглядит как " ??" на странице.

Я пытался добавить

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

но не сработало.

Как правильно отобразить символы юникода на странице?

Спасибо

Ответы [ 2 ]

10 голосов
/ 14 марта 2012

Вы должны использовать:

mysql_set_charset('utf8');

вместо

mysql_query("SET NAMES 'utf8'")

, и я бы предложил также установить заголовки в PHP

header('Content-Type: text/html; charset=UTF-8');
0 голосов
/ 14 марта 2012

UTF-8 Настройки для PHP:

ini_set("mbstring.language", "Neutral");
ini_set("mbstring.internal_encoding", "UTF-8");
ini_set("mbstring.encoding_translation", "On");
ini_set("mbstring.http_input", "auto");
ini_set("mbstring.http_output", "UTF-8");
ini_set("mbstring.detect_order", "auto");
ini_set("mbstring.substitute_character", "none");
ini_set("default_charset", "UTF-8");
ini_set("mbstring.func_overload", 7);

setlocale(LC_TIME, "en_US.UTF-8");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...