zoukankan      html  css  js  c++  java
  • c#连mysql的latin1编码乱码问题

    今天出现了一个悲据的问题

    有个mysql库用的是latin1编码。我用c#查询怎么都是乱码。无论加charset=latin1或set names latin1都没用

    codenamemapcoderemarkorder_index
    ALL_ALL ËùÓÐ ALL_ALL ËùÓÐ 0
    eeee PC xxx ÔÚPC¶Ë´óÌü½øÐеÄÓÎÏ· 10
    fff ÎÞÏß wx ÔÚÎÞÏßÏà¹ØÖÕ¶ËÉϽøÐеÄÓÎÏ· 20
    aaa WGP eeee ÔÚ¸÷ÀàwebÃÅ»§ÉϽøÐеÄÓÎÏ· 30
    ccvb ÐÂÖÕ¶Ë xzd ÔÚ¸÷ÀàÐÂÖÕ¶ËÉϽøÐеÄÓÎÏ· 40
    -1 δ֪ -1 δ֪ 99999

    改什么编码都没有。

    最后我在C#中调试时,发现connection中有个encoding属性。但它只有运行时可见,用的是gb2312

    我就如此试了一下

     string turnlatin1string(string source)        {            

     var en = System.Text.Encoding.GetEncoding("latin1");            

    var bs = en.GetBytes(source);                        

    var a = System.Text.Encoding.Default.GetString(bs);            

     return a;        

    }

    对每个字符串结果都如此转一下后正常了。

    ALL_ALL 所有 ALL_ALL 所有 0
    ff_32 e vx 33的游戏 10
    ff_64 da线 wx xc进行的游戏 20
    ee_96 WGP wgp fa的游戏 30
    ee_128 aa端 xzd bbb行的游戏 40
    -1 未知 -1 未知 99999

    但这样很麻烦。有木有人有好的解决办法。库的编码不改的情况下.

  • 相关阅读:
    排序算法(一)冒泡法
    java是传值还是传引用
    赫夫曼树与赫夫曼编码
    数据结构的相关概念
    字符集和字符编码的区别
    redis为什么选择单线程工作模型
    GET和POST请求的核心区别
    MySQL数据类型及后面小括号的意义
    java中的数据类型
    Jedis无法连接centOS7上的redis
  • 原文地址:https://www.cnblogs.com/jiamao/p/2400782.html
Copyright © 2011-2022 走看看