當我回顯阿拉伯字符時,它們看起來很好,但如果我從數據庫回顯它們,它們會顯示爲問號。下面是我做的這麼遠,但它仍然是不工作: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) – 2013-04-08 16:50:21
我不知道你有什麼完成但你不運行'set names utf8';你運行'set_names'utf8''(注意下劃線)。 – 2013-04-08 20:39:55
請注意,MySQL不會與其他人說同一種語言。當MySQL說「utf8」時,它確實意味着「一些奇怪的UTF-8變體,限於三個字節,因爲上帝知道什麼荒謬的原因」。如果你真的想要UTF-8,你應該告訴MySQL你想要這個奇怪的東西,MySQL喜歡叫[utf8mb4](http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html )。 – 2013-04-09 09:19:27