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();   

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

  • 相关阅读:
    记一次小程序支付开发的坑,超级坑
    springboot集成redis 附redis基本操作类
    springboot整合mybatis及封装curd操作-配置文件
    微信小程序开发
    vue各种插件
    java数据导出成 EXCEL
    jsp自定义标签
    java生成验证码
    文字对齐格式
    css阴影效果
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/3343913.html
Copyright © 2011-2022 走看看