Когда я эхо арабские символы, они кажутся прекрасными, но если я эхо их из базы данных, они появляются как вопросительные знаки. Вот что я сделал до сих пор, но он по-прежнему не работает:utf8 не работает с mysql
установка кодировки сейчас:
| Variable_name | Value |
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
настройка сортировки сейчас:
| Variable_name | Value |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
В коде PHP я использую:
header('Content-Type: text/html; charset=utf-8');
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
mysql_query("set character_set_server='utf-8'");
mysql_query("set_names 'utf8'");
Подробнее:
Возможный дубликат [UTF-8 на всем пути] (http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) –
Я не знаю, что у вас есть но вы не запускаете 'set names utf8'; вы запустите 'set_names 'utf8'' (обратите внимание на подчеркивание). –
Обратите внимание, что MySQL не говорит на том же языке, что и все остальные. Когда MySQL говорит «utf8», это действительно означает «какой-то странно отсталый вариант UTF-8, который ограничен тремя байтами, потому что бог знает, какую смешную причину». Если вы действительно хотите UTF-8, вы должны сказать MySQL, что хотите эту странную вещь, которую MySQL любит называть [utf8mb4] (http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html). –