使用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 來設定編碼方式,但是需要注意的是使用這種方法設定的效果僅限於當前會話,當你關閉終端後,相關的引數還是恢復到了原始的值!
相關文章
- 【oracle 資料匯入匯出字元問題】Oracle字元
- pdo_mysql 資料庫亂碼問題MySql資料庫
- SqlServer資料庫中文亂碼問題解決SQLServer資料庫
- mysql資料庫concat拼接字串亂碼問題MySql資料庫字串
- confluence中文顯示亂碼問題
- 記錄PHP post提交表單匯入mysql中文亂碼的問題PHPMySql
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- MYSQL資料庫匯入資料時出現亂碼的解決辦法MySql資料庫
- TP5.1excel匯入資料庫的程式碼?php excel如何匯入資料庫?Excel資料庫PHP
- Windows 伺服器中使用 mysqldump 命令匯出資料,解決中文亂碼問題Windows伺服器MySql
- 解決 php 使用json_encode存入資料庫中的中文亂碼丟失反斜槓問題PHPJSON資料庫
- Mysql 資料庫匯入與匯出MySql資料庫
- LiveCharts中文顯示亂碼問題的解決Echarts
- OxyPlot.SkiaSharp中文顯示亂碼的問題
- SSM解決中文存入資料庫亂碼問題(記錄自己的問題)SSM資料庫
- 解決PHP匯出CSV檔案中文亂碼問題PHP
- MySQL5.6.24(win10 64位)解決程式存中文到資料庫亂碼問題MySqlWin10資料庫
- 使用Kettle抽取資料時,出現中文亂碼問題解決方案
- MySQL匯出資料庫指令碼MySql資料庫指令碼
- 解決pl/sql developer中資料庫插入資料亂碼問題SQLDeveloper資料庫
- 小程式批次匯入excel資料,雲開發資料庫匯出cvs亂碼解決方案Excel資料庫
- navicat for mysql顯示中文亂碼解決方案MySql
- Mysql輸出中文顯示亂碼處理MySql
- Mysql資料庫使用Navicat Mysql匯入sql檔案報錯MySql資料庫
- 如何解決python 圖表中文顯示亂碼問題Python
- Python使用pymysql和xlrd2將Excel資料匯入MySQL資料庫PythonMySqlExcel資料庫
- jsp頁面傳中文到資料庫亂碼JS資料庫
- 大文字資料,匯入匯出到資料庫資料庫
- MySql中文亂碼問題解決MySql
- 使用navicat匯出查詢大量資料結果集並匯入到其他資料庫(mysql)資料庫MySql
- MySQL資料的匯入MySql
- MySql中表單輸入資料出現中文亂碼的解決方法MySql
- PHP匯入大量CSV資料PHP
- 常見php與mysql中文亂碼問題解決辦法PHPMySql
- 華納雲 如何解決Linux 資料庫亂碼問題?Linux資料庫
- PHP大資料xlswriter匯入匯出(最優資料化)PHP大資料
- TOMCAT 請求資料編碼亂碼 問題Tomcat
- PHP操作MySQL資料庫PHPMySql資料庫
- MySQL入門--匯出和匯入資料MySql