在終端,mysql -u root -p 登錄;
show variables like 'character%'; 來查看當前數據庫的相關編碼集。
|
因為當前的 CMD 客戶端輸入采用 GBK 編碼,而數據庫的編碼格式為 UTF-8,編碼不一致導致了亂碼產生.
而服務器的數據庫雖然是采用 UTF-8 編碼,但卻可以識別通知服務器端的 GBK 編碼數據並將其自動轉換為 UTF-8 進行存儲。
設置完成后即可解決客戶端插入數據或顯示數據的亂碼問題了,
可以使用如下語句來快速設置與客戶端相關的編碼集:
- set names gbk;
在window下:
在 MySQL 的安裝目錄下有一個 my.ini 配置文件,通過修改這個配置文件可以一勞永逸的解決亂碼問題。在這個配置文件中 [mysql] 與客戶端配置相關,[mysqld] 與服務器配置相關。默認配置如下:
- [mysql]
- default-character-set=utf8
- [mysqld]
- character-set-server=utf8
這時只需要將下的默認編碼 default-character-set=utf8 改為 default-character-set=gbk ,重新啟動 MySQL 服務即可。
在mac下:
從 /usr/local/mysql/support-files/下拷貝個任意一個.cnf 文件。
然后在/etc下粘貼。並且重命名為my.cnf 。
打開改成:
[client] default-character-set=utf8 [mysqld] character-set-server=utf8
保存。重啟mysql服務即可。
Mysql插入中文變為全問號???的問題 解決方法
String sql = "CREATE TABLE student2(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),gender VARCHAR(2)) ENGINE=InnoDB DEFAULT CHARSET=utf8";