剛剛下載安裝好的MySQL,在使用的時候,如果插入中文信息,可能會顯示為?,本人就遇到了這個問題。下面分享給大家如果遇到此類問題,該如何解決
修改配置文件
在我們的安裝目錄中會有一個*.ini配置文件,名字改為my.ini。
然后修改里面的信息
# These are commonly set, remove the # and set as required. basedir = D:\download\數據庫\Mysql\mysql-5.6.44-winx64 datadir = D:\download\數據庫\Mysql\mysql-5.6.44-winx64\data # port = ..... # server_id = ..... # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # mysql端口 port=3306 # 字符集 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8
查看編碼格式
將配置文件修改完之后,重啟mysql。查看編碼方式,是否發生變化
show variables like 'char%';
修改后
修改前
修改已經創建好的數據庫和表的編碼方式改為utf8
ALTER DATABASE 數據庫 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE 數據表 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER DATABASE tb1 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
show create database db1;
ALTER TABLE t1 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
show create table t1;
show full columns from t1;
最終結果:已經存在的表中的數據依然是問號?,新插入的數據可以顯示中文