做一個包含越南文的網站,用戶說在保存包含越南文的文章時,MSYQL亂碼了,看下面的解決方法
我自己測試一下,很多字符變成了 ‘?'。 數據庫連接已經是使用了 utf8 字符集: 代碼如下: define("MYSQL_ENCODE", "UTF8"); mysql_query('SET NAMES '.MYSQL_ENCODE,$conn) or die('字符集設置錯誤'.mysql_error()); 搞了大半小時,沒有搞定。 insert 的數據都是仍然亂碼,突然想,是不是字段不能保存這些越南文。 我看一下數據庫字符集,默認都是 gbk,這個對中文是沒有問題的,一碰到越南文,就亂碼了。 於是,我將可能用到越南文的字段的字符集修改為 utf8,校對修改為:utf8_unicode_ci。(這裡一定要具體修改某個字段,修改整個表的字符集,不起作用,字段還是保留著原來的字符集)問題解決。 我的數據庫為:php_college_web 表:city_article 用到越南文的字段:title,content 於是執行如下sql: 代碼如下: ALTER TABLE city_article CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci ALTER TABLE city_article CHANGE content content text CHARACTER SET utf8 COLLATE utf8_unicode_ci