关闭

asp.netx写入Mysql乱码的处理

标签: mysqlcharacter数据库databaseasp.netinsert
728人阅读 评论(0) 收藏 举报
分类:

在使用Mysql+asp.net开发时,遇到写入数据库的中文乱码问题,和让人头疼,结合本人遇到的情况参阅网上资料,解决方法不外乎以下三种

我的数据库采用的是charset=gb2312编码,asp.net为utf-8 ,js全部采用utf—8编码

 

方法一:检查数据库的编码

检查数据库的默认字符集、表的字符集、字段的字符集是否和写入字符的编码一致


方法二:在数据库联接字符串上定义编码方式

 

Mysql的连接字符串中制定字符集charset=gb2312

 

如: "server=localhost;user=***;database=schoolnet;port=3306;password=***;charset=gb2312"

 

方法三:如果还是不行可以试一下

执行数据库命令:

db.ExecuteNonQuery("set names gb2312")


通过如下指令修改数据库的字符集 
alter database da_name default character set 'charset'.
客户端以 gbk格式发送 ,可以采用下述配置:
SET character_set_client='gbk'

 

原因如下:
SET character_set_connection='gbk'
SET character_set_results='gbk'
这个配置就等价于 SET NAMES 'gbk'。
现在对刚才创建的数据库操作
mysql> use test;
Database changed
mysql> insert into mysqlcode values(null,'php爱好者');
ERROR 1406 (22001): Data too long for column 'content' at row 1
没有指定字符集为gbk,插入时出错
mysql> set names 'gbk';
Query OK, 0 rows affected (0.02 sec)
指定字符集为 gbk
mysql> insert into mysqlcode values(null,'php爱好者');
Query OK, 1 row affected (0.00 sec)
插入成功
mysql> select * from mysqlcode;
+----+-----------+

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:652830次
    • 积分:7013
    • 等级:
    • 排名:第3353名
    • 原创:89篇
    • 转载:122篇
    • 译文:1篇
    • 评论:79条
    最新评论