1. 程式人生 > >關於部署至雲伺服器的javaweb插入資料庫亂碼的問題(centos7環境)

關於部署至雲伺服器的javaweb插入資料庫亂碼的問題(centos7環境)

關於部署至伺服器的javaweb插入資料庫亂碼的問題
解決辦法:
CentOS 7下修改MySQL資料庫字元編碼為UTF-8,UTF-8包含全世界所有國家需要用到的字元,是國際編碼。
具體操作:
1、進入MySQL控制檯
mysql -u root -p
輸入密碼
檢視當前mysql執行狀態
mysql>status
這裡寫圖片描述

後面四個編碼是我在修改之後,所以顯示utf-8;預設編碼是latin1。
2.修改mysql配置檔案
預設位置:/etc/my.cnf
進入etc資料夾>>vim my.cnf
圖片是我新增設定後的。
* 我的mysql沒有[client]這個欄位,首先新增上,在[client]段增加下面程式碼default-character-set=utf8(網上還有提到其他的設定語句,是以前的版本,現在不用了)
* 在[mysqld]段增加下面的程式碼
character-set-server=utf8
collation-server=utf8_general_ci
:wq! #儲存退出
* systemctl restart mysql.service #重啟MySQL
* 檢視當前mysql執行狀態
mysql>status
此時所有編碼應該都是UTF-8
這裡寫圖片描述

引數說明:
haracter_set_client:客戶端請求資料的字符集。
character_set_connection:從客戶端接收到資料,然後傳輸的字符集。
character_set_database:預設資料庫的字符集,無論預設資料庫如何改變,都是這個字符集;如果沒有預設資料庫,使character_set_server指定的字符集,此引數無需設定。
character_set_filesystem:把作業系統上檔名轉化成此字符集,即把character_set_client轉換character_set_filesystem,預設binary即可。
character_set_results:結果集的字符集。
character_set_server:資料庫伺服器的預設字符集。
character_set_system:這個值總是utf8,不需要設定,儲存系統元資料的字符集