• 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

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

  • 相关阅读:
    Pandas之groupby分组
    Pandas之isna,fillna
    Spark算子
    Spark算子
    常见排序算法
    Ubuntu18关机时出现 A stop job is running for ...导致关机很慢
    攻防世界-crypto-Decode_The_File(base64隐写)
    攻防世界-crypto-Decrypt-the-Message(Poem Codes-诗歌密码)
    ubuntu 安装比特币钱包
    netapp 常用命令
  • 原文地址:https://www.cnblogs.com/jiamao/p/2400782.html
Copyright © 2020-2023  润新知