MySql中文乱码的解决方法

34 篇文章 0 订阅
28 篇文章 0 订阅
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
 
    在使用MYSQL时,插入中文字符,经常会出现乱码,中文全被用?代替。
    出现这种情况的原因,多是字符集不匹配造成的。
    在MYSQL中,如果使用缺省的字符集,在建库、建表时,默认使用的是latin1字符集,为ISO 8859-1西欧字符集。
    插入中文字符时,与之不匹配,就会出现乱码。
    本人使用的是MYSQL 5.0版,并用C#操作MYSQL数据库,当插入中文字符时,发现显示的是乱码。
    初步估计是字符集没有配对。查找后,发现MSYQL默认使用的是latin1,因此将数据库的配置文件中的字符设置改为utf8,并在C#中将中文字符,转为utf8,插入后,仍为乱码。
    MYSQL也支持gb2312,又将MYSQL的字符设置改为gb2312,C#中使用Default,重起MYSQL后,操作仍然无效。
    后想起, 虽然将MYSQL的字符集设置为gb2312或utf8,但已经建立的数据库和表,仍采用的是默认的字符集,也即仍为当初的西欧字符集,最好,只得忍痛将数据库删除,重新以gb2312字符集建立数据库和表。
    再用C#插入中文字符后,一切OK。(我的也是这样解决的。)
   
    再安装好MYSQL后,可以手工或使用配置工具,将my.ini文件中的默认字符集改为gb2312,再重新建库和表时,不用再在语句中指定字符集,其默认设置也即为gb2312,可以正常显示中文字符集。
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值