1. 程式人生 > >Mysql插入中文變為全問號???的問題 解決方法

Mysql插入中文變為全問號???的問題 解決方法

當通過程式或者mysql客戶端插入資料的時候出現中文變成??這種類似的亂碼時,多半是由於資料庫編碼的問題

1.如果是Java程式,則在url連線的地方加上?useUnicode=true&characterEncoding=utf-8試試

2.如果通過客戶端或者命令列插入也依然報錯,則修改mysql安裝配置檔案my.ini

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8

3.將資料庫的編碼改成utf-8

create database mydb default character set utf8 collate utf8_general_ci;

4.建立表的時候也要指定其字符集

 
CREATE TABLE IF NOT EXISTS `mydb` ( 
  `username` varchar(64) NOT NULL, 
  `userid` int(11) NOT NULL, 
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如果不清楚當前資料庫的字元情況,可以通過客戶端執行: SHOW VARIABLES LIKE 'char%';檢視