MySql5中文乱码的解决方法在使用MYSQL时,插入中文字符,经常会出现乱码,中文全被用?代替。出现这种情况的原因,多是字符集不匹配造成的。
在MYSQL中,如果使用缺省的字符集,在建库、建表时,默认使用的是latin1字符集,为ISO 8859-1西欧字符集。插入中文字符时,与之不匹配,就会出现乱码。
要解决此问题,就必须手动将数据库Server和Client的字符编码改为gb2312。配置方法如下:
打开MYSQL安装目录下的my.ini文件,找到如下段落:
# CLIENT SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by MySQL client applications.
# Note that only client applications shipped by MySQL are guaranteed
# to read this section. If you want your own MySQL client program to
# honor these values, you need to specify it as an option during the
# MySQL client library initialization.
#
[client]
port=3306
[mysql]
default-character-set=latin1
# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="D:/MySQL/MySQL Server 5.0/"
#Path to the database root
datadir="D:/MySQL/MySQL Server 5.0/Data/"
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=latin1
将其中的default-character-set=latin1改为default-character-set=gb2312,然后重启MYSQL(以前建立的数据库要重建),运行MySQL Command Line Client:
输入show variables like 'character_set_%';可以查看数据库的字符编码如下:
mysql> show variables like 'character_set_%';
+--------------------------+-----------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------+
| character_set_client | gb2312 |
| character_set_connection | gb2312 |
| character_set_database | gb2312 |
| character_set_filesystem | binary |
| character_set_results | gb2312 |
| character_set_server | gb2312 |
| character_set_system | utf8 |
| character_sets_dir | D:\MySQL\MySQL Server 5.0\share\charsets|
+--------------------------+-----------------------------------------+
然后,在程序中将连接数据库的URL改为jdbc:mysql://localhost:3306/databasename?useUnicode=true&characterEncoding=gb2312就可以了!
当然要支持国际化最好把以上所有gb2312换成utf8(注意不是utf-8,除了
在程序中将连接数据库的URL改为jdbc:mysql://localhost:3306/databasename?useUnicode=true&characterEncoding=
utf-8)
分享到:
相关推荐
java插入mysql中文乱码解决
解决knime连接mysql数据库中文乱码
MySQL中文乱码问题解决方案,彻底解决mysql中的中文乱码问题
MySql中文乱码问题 Mysql建库建表 Mysql建库建表中文乱码问题 Mysql中文乱码问题解决方案
mysql出现中文乱码的解决方法,其中之一,修改配置文件。
史上最全的PHP+MySql中文乱码解决方案
mac OSX 系统 MySQL中文乱码解决办法
NULL 博文链接:https://macrotea.iteye.com/blog/1683977
有关PHP+MySql产生中文乱码原理及常用解决办法,希望对大家有所帮助
解决Navicat for MySql 导入EXCEL中文乱码问题解决的有效方法
mysql出了乱码可查,方便快捷,好用。jsp开发的过程中遇到的数据库端乱码解决办法都在这里了,跑不出去
Java写入MySQL中文乱码解决方法.docx
jsq+mybatis+mysql中文乱码的详细方案。
mysql-essential-5.0.45-win32.msi mysql-gui-tools-5.0-r12-win32.msi mysql-connector-java-5.0.4-bin.jar MySql数据库中文乱码解决方法 my.ini
关于MySQL中文乱码的解决方法完善版。
mysql中文乱码解决方案
个人总结了遇到使用Mysql数据库插入中文时产生乱码问题的解决方法
使用 docker 启动 mysql 容器可能会出现中文乱码的情况,这里记录如何制作支持中文的 mysql 镜像 docker版本:18.06 mysql 版本:5.7 1. 创建 my.cnf 文件 [client] default-character-set=utf8 [mysql] default-...
如果连接数据库,读出的中文信息显示乱码,可以试试。
解决Java_Web开发中Jsp存储读取MySQL数据中文乱码的问题