• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    网页语言编码及asp乱码问题解决方案
    最近公司有一个日文项目,由于之前使用的是自己开发的中文CMS,并没有将语言包分离,在网站建设调试过程中出现了令人头疼的乱码问题。

    乱码出现的原因 

    由于各个字符编码的储存空间不一样,所以当使用不同的字符读取数据时,当字符空间过小,就不能正常显示了。

    比如说中文字符的字符集一般是gb2312,如果用utf-8强制读取改变gb2312的字符,就有可能出现乱码。因为utf-8的字符集储存空间大于gb2312,当使用utf-8读取时,有些字符gb2312的编码中是不存在的,不存在的字符自然会出现乱码了。对于静态文件来说,如果文件的储存编码和网页中编码设置(charset)不一致的话,由于以上原因就会出现乱码问题。

    以上是对于乱码问题的简单分析,在解决现有问题时有涉及到了asp对国际化的支持。

    涉及到三个函数: @CODEPAGE,Response.CodePage,Session.CodePage

    下面是MSDN中的一段话。

    Setting @CODEPAGE explicitly affects literal strings in a single response. Response.CodePage affects dynamic strings in a single response, and Session.CodePage affects dynamic strings in all responses in a session.

    这三个函数都可以设置asp的编码,其中 @CODEPAGE 相当于php中的header,必须在文档的开始发出。

    在中文操作系统的IIS中,默认的为gb2312,参数值是:”936″,而日文需要指定文档CODEPAGE :

    %@ CODEPAGE=932 %> 

    我们使用这个函数来设置文档编码具体的使用方法可以参考:http://www.cloudward.net/techLife/article.asp?id=490

    现在应该没有问题了吧?哇,问题仍然存在。考虑到SEO公司的asp程序全部需要生成静态页面。而生成的页面全部是windows默认的ANSI,其中包含日文字符仍然会出现乱码。这样我们需要一个asp的函数,生成utf-8或者日文编码的文件。 我们使用以下代码完成:

    Set objStream = Server.CreateObject(”ADODB.Stream”)
    With objStream
    .Open
    .Charset = “utf-8″ //编码,这里你可以改成任何编码
    .Position = objStream.Size
    .WriteText=pencat //pencat 为写入的数据
    .SaveToFile server.mappath(”patch/flilename.html”),2 //生成文件路径
    .Close
    End With
    Set objStream = Nothing

    经测试后乱码的问题解决。

    您可能感兴趣的文章:
    • php 判断网页是否是utf8编码的方法
    • js 显示base64编码的二进制流网页图片
    • Base64编码加密JS代码网页版
    • 多种语言(big5\gbk\gb2312\utf8\Shift_JIS\iso8859-1)的网页编码切换解决方案归纳
    • ASP+FSO生成的网页文件默认编码格式以及转换成UTF-8编码方法
    • ASP UTF-8编码生成静态网页的函数
    • asp.net HttpWebRequest自动识别网页编码
    • asp.net 网页编码自动识别代码
    • vbs或asp采集文章时网页编码问题
    • 判断网页编码的方法python版
    上一篇:asp磁盘缓存技术使用的代码
    下一篇:FSO遍历目录实现全站插马的代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    网页语言编码及asp乱码问题解决方案 网页,语言,编码,及,asp,乱码,