随笔 - 45, 评论 - 1119, 引用 - 114

导航

标签

每月存档

最新留言

  • 回复: Google Talk
    本人:男 <br> 重慶 <br> 22歲 <br>2006ranyi@163.com
    by king(匿名) on 2008/2/13 15:35:00
  • 回复: Google Talk
    喜欢说英语的朋友,快加我吧!selin1991@yahoo.cn
    by selin(匿名) on 2008/2/12 11:01:00
  • 回复: Google Talk
    喜欢说英语的朋友,快快加我吧!
    by selin(匿名) on 2008/2/12 10:59:00
  • 回复: InstallShield 10.5
    请教一个问题! <br>用InstallShield 11.5 做了打包程序,编译创建成功后,运行安装程序,出现下面错误: <br> <br>“安装所需的CAB文件...
    by sundp(匿名) on 2008/1/9 14:48:00
  • 回复: InstallShield 10.5
    nq123@sina.com <br>传我一个教程,谢谢!
    by nq(匿名) on 2008/1/4 12:20:00
  • 回复: Google Talk
    欢迎游戏机行业的朋友加我:huanya88@gmail.com
    by 环亚电子(匿名) on 2007/12/28 17:55:00
  • 回复: Google Talk
    请发邀请 fang828@live.com
    by 小风(匿名) on 2007/12/27 16:49:00
  • 回复: InstallShield X 之一 演变
    我也急需要一份installshield12中文教程以及它的安装包,请哪位大侠给我一份.不胜感激. <br> <br>xingting496029631@126.com
    by 急啊(匿名) on 2007/12/27 15:13:00
  • 回复: InstallShield 10.5
    项目A的原来版本为2.01.01,现在的需求是用Installshield 11.5来打项目A的升级版本2.01.02,等客户在安装2.01.02的时候提示是否进行升级,如果客户选择了升级安装,则用2...
    by ligang(匿名) on 2007/12/26 11:27:00
  • (临时广告)招聘.net工程师(北京)
    要求: <br> <br>1.一年年以上开发经验(能力突出者可不受工作经验限制); <br>2.精通ASP.NET开发,熟悉.NET平台框架; <br>...
    by sgs(匿名) on 2007/12/5 13:12:00
  • 回复: Google Talk
    谢谢 sundeepblue@21cn.com
    by tian(匿名) on 2007/11/18 16:58:00
  • 回复: InstallShield 10.5
    tyj3@163.com <br> <br>发我一个,非常感激~!
    by tyj(匿名) on 2007/11/14 12:09:00
  • 回复: InstallShield X 之一 演变
    急需10.0的教程. <br>317953999@qq.com
    by 描述的空(匿名) on 2007/11/5 16:57:00
  • 回复: InstallShield X 之一 演变
    急需10.0的教程
    by 111(匿名) on 2007/11/5 16:56:00
  • 回复: Google Talk
    邀请我吧,拜托.我的邮箱是:xzongy@gmail.com
    by 贝贝(匿名) on 2007/11/2 12:53:00
  • 回复: InstallShield X 之一 演变
    我也急需要一份installshield10.5中文教程以及它的安装包,请哪位大侠给我一份.不胜感激. <br> <br>gavin_l_315@hotmail.com
    by gavinl315(匿名) on 2007/10/31 16:04:00
  • 回复: InstallShield X 之一 演变
    哪位仁兄有教程,发给俺一份,谢谢咯:) <br>drinkworld@163.com
    by 侠之小者(匿名) on 2007/10/17 14:26:00
  • 回复: Google Talk
    你好!我等gmail号码已经好长时间了,就是申请不下。可以邀请我吗?我的联系方式是beyondboy198406@yahoo.com.cn
    by luzhixing(匿名) on 2007/10/13 10:48:00
  • 回复: InstallShield X之二 WebForm安装-3 Application Data
    怎么才能在安装时将文件放到系统的system32路径下?
    by devilgavin(匿名) on 2007/10/12 15:25:00
  • 回复: InstallShield X 之一 演变
    installshield10.5中文教程和帮助给我一份,感激感激! <br>QQ 281567443 <br>Email:jeefo@163.com <br> ...
    by jeefo(匿名) on 2007/10/11 12:50:00
  • 回复: Google Talk
    我刚注册了一个,有50个邀请。谁要? <br>loveklose@gamil.com
    by 淘淘(匿名) on 2007/10/9 15:58:00
  • 回复: Google Talk
    talk
    by yonghonggao(匿名) on 2007/10/8 21:49:00
  • 回复: 上周五WebCast SilverLight & orcas的几个Sample
    <a target="_new" href="http://video-gratis-di-jessica-alba.ammucchiata-thn.cn"...
    by lensky(匿名) on 2007/10/7 6:49:00
  • 回复: Google Talk
    我也要一个,都下载好的, 就是没有帐号,我的邮箱是:han19830107@126.com 谢谢啦! <br>
    by 韩洪岩(匿名) on 2007/9/18 13:15:00
  • 回复: Google Talk
    Please add me if you have Gtalk. <br>polarishu2@gmail.com
    by polaris(匿名) on 2007/9/16 17:30:00

广告

 

   有一个Web项目,Web.Config中requestEncoding和responseEncoding都是gb2312,而从数据库中取出的简介数据可能是中文和韩、日文混合的内容,这时候如果直接输出到页面上,其页面会出现乱码,其中的韩文内容无法正确显示。当然如果项目的编码都使用Utf-8的话将没有这个问题,但这个项目是一个老项目,为了尽量不要影响已有的程序,所以无法将编码改为Utf-8,只能在本页面上动脑筋。

   经过研究,发现这个问题可以通过Html实体的方法解决。

对于Html实体请参考:

Character entity references in HTML 4

HTML Document Representation

测试代码:

Byte[] bComments = Encoding.UTF8.GetBytes("一ンブル????中文");
   char[] cComments = Encoding.UTF8.GetChars(bComments);
   
   StringBuilder charBuilder = new StringBuilder();   
   foreach(char c in cComments)
   {
    if(c > '\u0800')
    {
     charBuilder.Append("&#");
     charBuilder.Append((int)c);
    } 
    else
    {
     charBuilder.Append(c);
    }
   }
   Response.Write(charBuilder.ToString());

这段代码的作用是将所有的中文、韩文、日文字符通过硬编码输出成为html实体。而Html实体是不受ResponseEncoding和页面编码集影响的。

说明:

\u0800 以上的为中、韩、日字符。

中文的范围:\u4e00 - \u9fa5,日文在\u0800 - \u4e00,韩文为\u9fa5以上。

这个方法仅仅是为了解决小范围问题,如果各位有更好的办法请指教。

打印 | 张贴于 2005-09-26 17:24:00 | Tag:DOTNET

留言反馈

#re: 中文与韩、日文混排出现在Gb2312编码的Aspx的处理方法 编辑
我用通用的Utf-8
也不管 我的后台管理是中文 前台页面是日文
从数据库读出来的不论中文还是日文都不乱
但是其他的乱码依旧
2005-11-29 09:39:00 | [匿名:siaocoulumn]
#re: 中文与韩、日文混排出现在Gb2312编码的Aspx的处理方法 编辑
MS CRM好象也是这样做的
2005-09-30 17:53:00 | [匿名:one]
#re: 中文与韩、日文混排出现在Gb2312编码的Aspx的处理方法 编辑
不行啊,存在Xml里当然没问题,但是我们的数据是直接从数据库中读取出来的.
2005-09-27 16:43:00 | [匿名:hopeq]
#re: 中文与韩、日文混排出现在Gb2312编码的Aspx的处理方法 编辑
把所有要输出的文本内容放在.xml或者.resources文件里面,写一个自定义控件,例如:<hope:resourceLabel runat="server" resourceName="resourceName"/>
2005-09-26 17:50:00 | [匿名:宝玉]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode.MVC引擎 0.5.2.0