我在我的mysql數據庫中保存了一些非常好的外來字符。這是我現在使用的例如:いち外國字符在php中沒有正確顯示
當我嘗試從數據庫中回顯該列時,它只顯示爲'??'
爲什麼在我試圖迴應外來字符時出現問號?
我在我的mysql數據庫中保存了一些非常好的外來字符。這是我現在使用的例如:いち外國字符在php中沒有正確顯示
當我嘗試從數據庫中回顯該列時,它只顯示爲'??'
爲什麼在我試圖迴應外來字符時出現問號?
在數據庫中使用什麼編碼,以及通過header()
或HTML發送給瀏覽器的編碼是什麼?確保它們與您要輸入的數據相匹配。
您應該更改數據庫編碼以及將PHP標頭中的編碼指定爲UTF-8。 MySQL允許您選擇默認編碼,或者基於每個表或每個字段。
header('Content-Type: text/html; charset=UTF-8');
如果您保持數據庫的編碼和腳本的編碼一致,則不應該有任何問題。
很有可能你沒有設置適當的Mysql客戶端的編碼。
您必須發出SET NAMES <encoding>
查詢,其中<encoding>
是您的HTML頁面編碼。
請注意,沒有「外來字符」,但只有編碼。
你要知道什麼編碼的字符,並在所有三個網絡應用部分正確設置它:
爲了讓這些字符被支持,你必須選擇
讓我們繼續使用Unicode/UTF-8,因爲這是推薦的標準。你必須確保這些東西:
accept-charset="utf-8"
添加到<form>
元素中。CREATE DATABASE
語法和supported character sets/collations(閱讀:編碼)。你應該選擇UTF-8/Unicode。SET NAMES UTF8
完成的。header('Content-type: text/html; charset=utf-8');
http://www.joelonsoftware.com/articles/Unicode.html – Amber 2010-06-04 23:53:32