MySQL中文报错ini_mysql插入中文乱码问题

如果使用的 MySQL 是 5.5 版本,那么 Insert 语句插入中文就会报错:ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column。

这是因为 MySQL 数据库默认配置的编码方式是 latin1,所以会导致无法插入中文字符串。我们只要把它改成 gb2312 或者 utf8 就可以了!笔者建议使用 utf8,它是国际通用字符编码。

MySQL不能插入中文的解决方法:

1.找到 MySQL 安装目录下的 my.ini 文件(没有的这个文件 的话是my-default.ini这个文件 复制一份将名称改成my.ini),我是直接下载解压版的:E:\soft\mysql-5.6.24-win32目录下就有my-default.ini这个文件 ,我什么也没有配置它,复制一份后按以下设置

2.使用开发工具或者记事本打开 my.ini,查找 default-character-set 和 character-set-server

3.把 default-character-set=latin1 改成 default-character-set=utf8

4.把 character-set-server=latin1 改成 character-set-server=utf8

5.保存之后,重启 MySQL 数据库,如果您使用的是 WAMPServer 集成开发工具就重启 WAMPServer 中的所有服务。

需要注意的是,先前创建的数据库不能再用了,必须重新创建新的数据库才可以插入中文字符。如果不想重新创建数据库的表,可以先把每一个表的结构 SQL 语句取出来,然后把旧的数据库删除,最后创建新的数据库和创建新的表。

注:MySQL 没有重启的命令,要先停止,然后再启动。开始 -> cmd -> net stop mysql -> net start mysql

以下就是我的my.ini的配置

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

# *** default location during install, and will be replaced if you

# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

character_set_server=utf8

# These are commonly set, remove the # and set as required.

# basedir = .....

# datadir = .....

# 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

[client]

port=3306

default-character-set=utf8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值