存入後字元亂碼,一般都是字元編碼不統一造成的。
而字元編碼統一需要注意一下
mysql的部份。
需要注意的資料庫及資料表的字元編碼要用utf8的編碼
在程式裏記得要做set names utf8
程式的檔案編碼叫得也得是utf8無bom的。
一般目前用編輯器的比較不會有這問題。擔心的是用記事本非plus的。其檔案編碼會是big5
也有機會造成此問題。
最後要注意的是html的編碼也得是utf8。
如果儲存的東西是由html傳送的。更要注意。
以上三大原則處理好後,就不會再發生這樣的問題。
針對你的問題,首先請先確認你的資料庫的每個資料表的儲存編碼都定義為utf8_general_ci,如果不是請改為utf8_general_ci
你匯出的舊資料表檔案格式若是sql,或是其它文字格式,請使用如Emeditor之類的,支援編碼格式的文字編輯器軟體讀取,確認讀取進來的內容,不會顯示亂碼,如果是亂碼,表示編輯器現在使用的編碼與你的文件本身不符合,請手動更改編碼後重新讀入,讀取正確後,請將文件存為UTF-8格式,不要加BOM
然後你再匯入你現在的資料庫就不會有問題了
你的程式在連線資料庫前,要先執行三個語法
SET NAMES utf8
SET CHARACTER_SET_CLIENT=utf8
SET CHARACTER_SET_RESULTS=utf8
定義你讀取或存入資料的編碼都是utf8
你的網頁表單都要定義為utf-8,並且檔案編碼也要存為utf-8,
這樣就不會有任何編碼不同的問題了