使用PHP向MySQL資料庫匯入資料,中文字元顯示亂碼問題
導致中文顯示亂碼的根本原因是因為編碼方式。一般要想正確顯示中文,都會用UTF-8的編碼方式,因為UTF-8使用三個位元組來儲存一個字元,所以理論上它可以表示2^24=16,777,216個字元,它完美的相容了所有的文字。當出現資料庫中中文字元亂碼的情況,可以從一下幾個方面去排查原因:
檢查匯入的資料的編碼方式是不是UTF-8。
檢查建立資料庫和表格的時候有沒有指定編碼方式為UTF-8。
檢查MySQL伺服器使用的編碼方式。
前面兩點比較容易,針對第三點這裡展開介紹。
開啟終端,輸入命令:" mysql -u "使用者名稱" -p "
回車再輸入密碼即可進入MySQL管理介面。檢視當前MySQL伺服器的編碼方式,輸入命令:" show variables like 'character%'; " 即可,先是結果如下:
mysql> show variables like 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.7.13-osx10.11-x86_64/share/charsets/ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.01 sec)
一定要確保所有采用的編碼方式為UTF-8,如果有發現採用其他的編碼方式,可以修改MySQL的配置檔案。Windows下可以進入MySQL的安裝目錄,
找到my.ini或者mysql.ini在[client]和[mysql]欄下新增:default-character-set=utf8
在[mysqld]欄下新增: character-set-server=utf8
然後重啟MySQL伺服器,即可永久改變伺服器編碼方式。Mac OS的環境下,可以在 /etc 目錄下以同樣的方式編輯 my.cnf 檔案。
需要注意的是Mac OS預設在 /etc 目錄下沒有 my.cnf 檔案,需要找到MySQL的安裝目錄(以我的電腦為例,MySQL安裝在/usr/local/mysql-5.7.13-osx10.11-x86_64),進入之後找到 support-files 資料夾,從裡面拷貝檔案my-default.cnf 到 /etc 並修改名稱為 my.cnf,再進行修改。切記不要直接修改 my-default.cnf 檔案,因為它是作為模版使用的。
也可以在命令列使用命令:set character_set_server = utf8 來設定編碼方式,但是需要注意的是使用這種方法設定的效果僅限於當前會話,當你關閉終端後,相關的引數還是恢復到了原始的值!
相關文章
- MySQL資料匯入匯出亂碼問題MySql
- 解決Hibernate向MySQL資料庫插入中文亂碼問題MySql資料庫
- PHP顯示MySQL亂碼問題PHPMySql
- BW資料匯入亂碼問題
- Navicat for mysql 顯示中文亂碼問題MySql
- 解決Excel資料匯入sqlite中的中文亂碼問題ExcelSQLite
- 【oracle 資料匯入匯出字元問題】Oracle字元
- SqlServer資料庫中文亂碼問題解決SQLServer資料庫
- pdo_mysql 資料庫亂碼問題MySql資料庫
- ubuntu 中文顯示亂碼問題Ubuntu
- C語言連線mysql資料庫查詢中文的資料表亂碼問題C語言MySql資料庫
- springMVC儲存資料到mysql資料庫中文亂碼問題解決方法SpringMVCMySql資料庫
- 記錄PHP post提交表單匯入mysql中文亂碼的問題PHPMySql
- 插入資料庫亂碼問題資料庫
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- MYSQL資料庫匯入資料時出現亂碼的解決辦法MySql資料庫
- MySQL匯入資料亂碼、出錯等問題的解決辦法MySql
- mysql資料庫concat拼接字串亂碼問題MySql資料庫字串
- mysql匯入資料亂碼錯誤一則MySql
- 特殊字元^M引起的資料匯入問題字元
- hibernate插入中文到mysql資料庫亂碼MySql資料庫
- 字元顯示亂碼問題處理辦法字元
- sqlldr匯入資料中文亂碼SQL
- mysql 資料庫匯入匯出MySql資料庫
- MySQL資料庫匯入匯出MySql資料庫
- Windows 伺服器中使用 mysqldump 命令匯出資料,解決中文亂碼問題Windows伺服器MySql
- TP5.1excel匯入資料庫的程式碼?php excel如何匯入資料庫?Excel資料庫PHP
- mysql資料庫匯入外來鍵約束問題MySql資料庫
- PHP資料寫入MySql資料庫PHPMySql資料庫
- 解決Mysql匯入亂碼問題MySql
- 資料庫顯示圖片的問題資料庫
- asp.net查出 oracle資料庫中的中文亂碼問題ASP.NETOracle資料庫
- Oracle - SQLPlus中文顯示亂碼問題OracleSQL
- mysql匯入匯出資料中文亂碼解決方法小結MySql
- 請問java中向網頁匯入資料問題!Java網頁
- Linux下修改MySQL資料庫字元編碼為UTF-8解決中文亂碼LinuxMySql資料庫字元
- 【mysql】資料庫匯出和匯入MySql資料庫
- mysqldump匯入匯出mysql資料庫MySql資料庫