MySQL | 中文顯示為亂碼或問號的解決方法


剛剛下載安裝好的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;
 

 

最終結果:已經存在的表中的數據依然是問號?,新插入的數據可以顯示中文


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM