网页用vs2008调试的时候能正常显示,发布到服务器上用IP地址访问就不行了
网页用<%=变量%>绑定后是乱码?请问是怎么回事,各种方法都用了就是解决不了。
<meta http-equiv="content-type" content="text/html;charset=utf-8">或者
<meta http-equiv="content-type" content="text/html;charset=GB2312">都用了都不行
还有<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312" culture="zh-CN" uiCulture="zh-CN"/>也添加了还是不行,
当我用GB2312编码时右键选择utf-8编码绑定的变量能正常显示,其他显示乱码,
当我用UTF-8编码时绑定的变量依然是乱码
HTML代码如下:
用户名</span><div style="display:inline"><%=UserName %>---用户类型:<div style="display:inline" id="usertype"> <%=UserType%>
你这个问题。。。都问N次了哦!
你在你的代码里另外定义一个UserName,直接让UserName返回一个带中文的字符串(最好用英文前后标记,并不间断的穿插),而不是从数据库里读取。
这样,可以判断是ASPX的RENDER问题,还是数据库数据的问题。
没办法啊,急着解决只能这样了
用VS2008调试是正常的,发布后就不行了
没办法啊,急着解决只能这样了
用VS2008调试是正常的,发布后就不行了
没办法啊,急着解决只能这样了
用字符串代替现实正常
是数据库的问题,但是怎么解决啊??
@yxf2011: 如果用普通字符串是正常的,那问题就可能出现在你数据库提供的数据内容上了。
你可以把检索后的数据库内容进行编码后输出,看下输出的结果是什么:Server.HtmlEncode
@笨笨蜗牛: 编码后输出依然是乱码
@yxf2011: 编码后的结果呢?
@笨笨蜗牛: 编码后输出的是乱码,没什么变化
@yxf2011: 那用URLENCODE输出看。
@笨笨蜗牛:
@笨笨蜗牛: 输出的是如上
@yxf2011: 这个编码是UTF-8的,6个汉字。
汉字UTF-8编码的特征:每个汉字3字节,高字节都是e开头的16进制。
你或者这样:
Encoding.UTF8.GetString(Encoding.Default.GetBytes("数据库字段内容"))
我还真的没遇到过你这样的问题。
@笨笨蜗牛: 十分感谢,这种方法可以,但是有一个问题就是,当只有一个汉字的时候是乱码。不过这样也能走路
@yxf2011: 这个问题是有点费解的。数据库里存储的文本信息,在获取到.NET的系统后,应该有统一的内存编码(UNICODE)才对。在输出不应该出现这样的问题。我也从来没遇到过。
不过,现在问题解决了就好,虽然解决方案有点迂回。
数据库字段是什么类型?
nvarchar
@yxf2011: 看一下数据库的Collation设置是不是Chinese_PRC_CI_AS,如果不是,改为这个。
或者...
这个方法用了,不行
@yxf2011: 亲...重新建个空白的项目试一试为好噢~~