查阅博文
UTF-8页面出错时显示乱码的一些解决办法

作者:乐乐 日期:2011-5-3 11:43:07

字体大小:

  ASP程序里,文件使用国际编码UTF-8时,在IIS里调试,如果程序运行出错,浏览器返回的错误提示中文字符都会以乱码显示,最近,在升级博管程序,增加一些功能时,原来gb2312编码到UTF-8时,就纠结了这个问题,如下图:



以乱码显示,严重的影响开发者调试程序..*>_<*..,我在ASP里调试的问题,其它语言php/asp.net的有木有这种情况?


针对以上问题,我尝试找到的解决办法:
1、运行出错后,在当前页面显示乱码提示时。。重新建立一个IE新窗口,再次运行程序,再此窗口里显示的乱码提示时,右击鼠标右键选择:编码(E)→简体中文(GB2312),此时,乱码会恢复成正常的简体中文错误提示。直接在当前页设置编码不可行,IE有缓存。。
2、运行出错后,虽然IE解析后的页面返回乱码,但是此时,右击鼠标右键,选择:查看源文件(V),在源文件里显示的全部错误提示信息,都会以正常的简体中文提示。
3、在程序过程中,即程序出错的前面加入:Response.Charset = "gb2312"设置页面编码,无需理会页面编码是UTF-8,也不用管页面已加入:Response.Charset = "UTF-8",加入后,再次执行出错时会恢复成正常的简体中文错误提示。

后语:
以上三个操作正常情况一般都可以解决乱码提示的问题,终于可以找回在gb2312编码时运行出错后的友好提示O(∩_∩)O~。
运行出错后,使用第一个方法解决时,如果频繁出错调试,操作也变得繁琐,效率大打折扣,避免这样的问题时,使用第二个方法会更便捷。
如果程序在AJAX下调试,远程服务器的代码出错页面无刷新,不能查看源代码怎么办?这也是有解决办法的。AJAX里有一个状态,返回不是200时,会提示远程服务器发生错误。此时,获取远程的错误内容,写到一个div块里,如:<div id="lele"></div>,ajax设置:document.getElementById("lele").innerHTML = ajax.responseText,返回远程服务器错误信息。但是,编码是UTF-8,所以返回的结果与IE返回的结果相同,同样是乱码提示,这时不要忘记第三个方法。临时加入:Response.Charset = "gb2312"设置页面编码。这时返回的ajax错误结果,将会以正常的简体中文错误提示显示。。使用Jquery库时的ajax功能,设置也完全相同哟。

分类:学习笔记 | 评论:2 | 人气:1004
全部评论(2)
xmwusx [2011-5-4 10:26:28] 福建省厦门市 电信   1楼  回复 | 引用
编码问题确实是个 重点,我网站初期 也是被编码问题搞得很头大。哈哈我的新皮肤支持评论嵌套回复了~!
CONEY [2011-5-4 11:14:28] 江苏省无锡市 电信ADSL   2楼  回复 | 引用
使用notepad++ 装成utf-8 即可了吧~
  • 最末页
  • 下一页
  • 1
  • 上一页
  • 第一页
  • 共2条记录 共1页
发表评论
发表评论
特别说明:欢迎您对乐乐个人网站发表真诚的意见 !谢谢!!
     乐乐回复留言后系统自动回复邮件通知留言者,建议使用QQ邮箱 !!
留言限制:留言不限类型,博客评论、留言本属可交互性质,为保护绿色网络,所有评论、留言先审后发!
     请用心留言,不发布违法有害信息、色情、广告等垃圾信息。谢谢!!
昵  称: 请填写你的昵称!
网  址: 您的个人网站!如:百度空间、新浪博客、独立博客
邮箱或QQ: *支持QQ空间头像或Gravatar全球通用头像
留言内容:
你没有登录会员哦! 登录 | 注册 | 匿名发表
验证码: 看不清,请刷新验证码 点击图片刷新验证码