mysql插入中文乱码问题

来源:互联网 发布:深圳php好找工作吗 编辑:程序博客网 时间:2024/05/01 08:43
  • 如果使用的 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_bincharacter_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=3306default-character-set=utf8



0 0
原创粉丝点击