为什么会出现乱码,c#连mysql的latin1编码乱码问题

 2023-09-20 阅读 21 评论 0

摘要:今天出现了一个悲据的问题 有个mysql库用的是latin1编码。我用c#查询怎么都是乱码。无论加charset=latin1或set names latin1都没用 codenamemapcoderemarkorder_indexALL_ALLALL_ALL0eeeePCxxxPC10fffwx20aaaWGPeeeeweb30ccvbxzd40-1-199999 改什么编码都没有。 为什么会

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

 

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

codenamemapcoderemarkorder_index
ALL_ALLËùÓÐALL_ALLËùÓÐ0
eeeePCxxxÔÚPC¶Ë´óÌü½øÐеÄÓÎÏ·10
fffÎÞÏßwxÔÚÎÞÏßÏà¹ØÖÕ¶ËÉϽøÐеÄÓÎÏ·20
aaaWGPeeeeÔÚ¸÷Àà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);                        

selectsinglenode返回null、var a = System.Text.Encoding.Default.GetString(bs);            

 return a;        

}

 

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

 

ALL_ALL所有ALL_ALL所有0
ff_32evx33的游戏10
ff_64da线wxxc进行的游戏20
ee_96WGPwgpfa的游戏30
ee_128aa端xzdbbb行的游戏40
-1未知-1未知99999

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

 

转载于:https://www.cnblogs.com/jiamao/archive/2012/03/16/2400782.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/80798.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息