關於thinkPHP 往資料庫裡插入中文變問號的問題.....Navicat-大坑
阿新 • • 發佈:2019-01-30
做畢設的時候,用thinkPHP,功能實現一個使用者資料的插入.
測試插入時,開啟navcat,發現中國全部被替換成了問號.
於是做了以下幾件事.
1.進入linux, 修改mysql的配置檔案.新增字符集配置.
2.執行mysql命令, 把所有資料庫和表的字符集改成utf8.
3.檢視phpstrom編輯器的字符集,發現預設就是utf-8.
4.在專案的資料庫配置檔案上新增操作資料時的配置.
‘DB_CHARSET’=> ‘utf8’, // 字符集
5.嘗試插入,發現所有中文還是變成了問號.
6.無奈之下把整個資料庫轉存為sql檔案.
7.刪除原來的資料庫.
8.新建同名數據庫,然後執行sql檔案.
然後奇怪的事情發生了, 插入資料的時候依舊是問號,
但是獲取資料卻變回了中文.
= = 最後經朋友提醒,要把navicat下的 ‘使用Mysql字符集’選項勾上.
1.斷開資料庫連線.
2.檢視連線屬性.
3.修改選項.
4.重新連線.
…….問題解決
其實,當出現 插入時中文變問號, 但是取出時又正常,這時候真實的mysql應該是儲存正確的. 問題就出在navicat這個軟體上….
然而就是這個問題浪費了我一晚上時間,記錄一下.
以上.