我創建了一個具有UTF-8數據庫字符集的應用程序。當使用PHP創建連接時,我正在執行mysqli_query($link, 'SET CHARACTER SET utf8')
。UTF-8使用MYSQL插入查詢無法在部署服務器上工作
這是對本地主機工作罰款既SELECT
,INSERT
等我上部署的Web應用程序的一些樣本數據,並快速瀏覽網頁,我看到UTF-8字符很好。
第二天,客戶打電話過來的數據顯示像??????
當我通過提供接口添加一些記錄我很驚訝,他是對的,但 localhost上它是工作的罰款。
經過一番搜索,我發現多個答案喜歡執行這些查詢
set character_set_client='utf8'
set character_set_results='utf8'
set collation_connection='utf8_general_ci'
SET NAMES 'utf8'
- 和設置,然後響應等
沒有人工作但這mysqli_set_charset($link, 'utf8')
之一。
我的問題是
- 爲什麼這是工作在本地主機上,並且只
INSERT or UPDATE
查詢被部署後產生的問題,但SELECT
工作正常 - 是什麼
mysqli_set_charset($link, 'utf8')
和mysqli_query($link, 'SET CHARACTER SET utf8')
請閱讀[這個優秀的答案](http://stackoverflow.com/a/279279/3536236) – Martin
另一個[_excellent answer_](http:// stackoverflow。 com/questions/26596294/set-names-vs-mysqli-set-charset -other-affecting-mysqli-escape-string-are/37947771#37947771) –
[_This_](http://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-i-stored)表示,「問號」是由於沒有使用utf8文本和'CHARACTER SET utf8'引起的。 –