前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何解决MySQL中文乱码及插入中文信息错误的问题

如何解决MySQL中文乱码及插入中文信息错误的问题

原创
作者头像
雷大亨
修改2018-01-01 19:34:58
2.4K0
修改2018-01-01 19:34:58
举报
文章被收录于专栏:遊俠扎彪

2010-05-13

从前和最近,帮人做点东西的时候,都遇到过MySQL与中文不兼容的问题,从前都是凭借尝试与运气解决问题这次好好总结一下:

首先,MySQL默认安装后默认配置的字符集是latin1,不支持中文,因此必须修改字符集设置,修改方法至少有两种,一种是修改配置文件my.ini,另外一种是使用mysql server instance config wizard这个GUI工具,如下图:

image.png
image.png

上图一定把双椭圆的那个勾上,这个非常容易忘,本人曾经在这个小问题上弄了好久,后来发现选择了字符集,忘了勾选了!设置为gb2312或是gbk,也可以选择第二项的utf8,由于这个工具拿日语举例,令人气愤,不选那个了,呵呵。

之后使用status;命令查看字符集设置结果,如图:

image.png
image.png

以上解决方案一般都能解决问题,但是如果是在create database和create table之后再设置的话,就会遇到很多“诡异”的问题,这主要是因为这个设置只对后来创建的database和table有效果,对之前创建的数据库和表没有影响。因此在这种情况下可以有两种解决方案,如果之前创建的数据库和表内容不多的话,可以直接drop,重新创建和添加内容;如果内容很多,重做比较麻烦,可以使用alter database dbname character set "gb2312",alter table table_name character set "gb2312"等来改变原来数据库和表的字符集,但是这个一般都不彻底,如果要彻底,要更改每一列的编码,使得每个字段的编码都变成支持中文的才能最终解决问题。

所以,如果想最快解决问题的话,那就打碎了重来,直接drop,然后再创建。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档