iT邦幫忙

0

php 與 mysql 連結 編碼 問題

請問在database 執行

"SET NAMES utf8"之後

還需要執行

"SET CHARACTER_SET_database = utf8"

"SET CHARACTER_SET_RESULTS = utf8"嗎

參考 http://www.blogjava.net/wldandan/archive/2007/09/04/142669.html
基本上字符集可以每一列資料都不同,樓主思考看看,要怎麼做才會好做

2 個回答

0
小魚
iT邦好手 1 級 ‧ 2018-05-20 11:45:09

你可以自己試試看

1
wiseguy
iT邦超人 1 級 ‧ 2018-05-21 16:53:45

我自己試了很久,用了快 20 年,都沒發生問題的解法:
在 mysql 的 my.cnf 設定檔中的 [mysqld] 段,加上以下兩行,重新啟動 mysqld。

character-set-server = utf8
init-connect='SET NAMES binary;'

然後你的 php 也是用 utf-8 來寫程式及處理資料,這樣就行了。

這是指 mysql 跟 php 都使用 utf-8,但是當 php 在送資料給 mysql 時,送什麼就是什麼,不要做任何變更轉碼 (binary 模式),同時讀什麼也就是什麼

我要發表回答

立即登入回答