zoukankan      html  css  js  c++  java
  • c#+mysql 中文乱码

    安装mysql如果没有正确设置默认字符集,在写入中文数据的时候就会乱码,只要在连接MySQL时,正确地设定了字符集,无论数据库本身是使用什么格式编码的,都能得到正确的结果。也许有人会以为写数据时设定的字符集必需和读数据时一致,事实上完全没有必要。程序所要做的只是告诉 MySQL,目前操作MySQL使用的是什么字符集即可。因为MySQL会自动完成如下的转换工作:
    写数据库时用的字符集-->存诸数据的字符集-->读取数据的字符集。

     

    由此想我的问题可能是写入时声明的我的字符编码与我实际的不符,C#中字符默认编码为GB2312,于是程序改动如下:

    1:在链接字符加入字符编码声明

    <add key="mysqlconstr" value="UserId=root;Allow Zero Datetime=true;Charset=gb2312;Host=125.*.*.*;Database=dbname;Password=123456"/>

    向mysql说明我的字符编码是gb2312, 不要搞错

    2:在数据库类中每一插入数据语句前加入编码声明

    cmd = new MySqlCommand("set names gb2312;"+sql,conn);     cmd.ExecuteNonQuery();   

    期待已久的中文终于顺利写入了!

  • 相关阅读:
    python日志设置[logging]
    python异常处理
    python可迭代对象、迭代器、生成器
    python字典操作
    python列表和元组的操作
    python字符串操作
    python深拷贝和浅拷贝
    python时间和日期的处理
    ssh
    SSH安全外壳协议
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/3343913.html
Copyright © 2011-2022 走看看