mysql插入中文乱码问题

本文介绍了解决MySQL 5.5版本中插入中文字符时出现的错误1366的方法。通过修改my.ini文件中的字符集配置为utf8,并重新创建数据库来确保中文字符的正确存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 如果使用的 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、付费专栏及课程。

余额充值