日期:2014-05-18  浏览次数:21127 次

乱码 发布后乱码 中文乱码 数据库中文乱码
有一应用要使用到一个原来的DBF文件。
在vs2005中测试一切正常。
发布后从DBF中读出的中文乱码。
测试方法:
Encoding   defa   =   Encoding.GetEncoding(936);
Encoding   unicode   =   Encoding.UTF8;
byte[]   buf   =   defa.GetBytes(reader[1].ToString());//DBF中是“现金”
Label6.Text   =   "默认格式: "   +   BitConverter.ToString(buf);
byte[]   utf8s   =   Encoding.Convert(defa,   unicode,   buf);
Label9.Text   =   "UTF8格式: "   +   BitConverter.ToString(utf8s);
Label10.Text   =   "UTF8现金: "   +   BitConverter.ToString(unicode.GetBytes( "现金 "));
输出:
vs2005(一切正常)
默认格式:CF-D6-BD-F0
UTF8格式:E7-8E-B0-E9-87-91
UTF8现金:E7-8E-B0-E9-87-91

windows   2003   IIS6.0(发布后乱码)
默认格式:3F-3F-3F-65
UTF8格式:3F-3F-3F-65
UTF8现金:E7-8E-B0-E9-87-91

正常输出应该是:
现金
乱码后出现:
???e

望高人指点。


------解决方案--------------------
请看IE源代码内部是否乱码

以前遇到过,实际上源代码内部是正常的,只是IE菜单中查看的语言编码错误罢了。

==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
优惠接单开发,组件控件定制开发,成品源代码批发
联系方式:Q64180940 全天在线
==================================================================
------解决方案--------------------
换种编码查看
------解决方案--------------------
试试在aspx中设置GB2312
------解决方案--------------------
看你数据库是简体还是繁体,例如把简体的数据库拖到繁体下,肯定会有乱码
------解决方案--------------------
unicode
------解决方案--------------------
你的数据库是用什么数据库?
------解决方案--------------------
检查你的IE的页面编码. 或者 到别人的机器上看看.