ASP使用utf-8时遇到的问题总结

以前做网页都是用的GB2312,因为刚开始不太了解,也就没注意这些。Dreamweaver中文版默认的就是简体中文,不写编码类型的话也是如此。然而,现在越来越多的网站采用unicode编码,这样做的好处自然不必多说。但是,要想真正用好utf-8并不是那么容易。下面我就总结一下自己遇到的问题,呵呵~

首先,要把meta区的charset由gb2312改为utf-8,这点应该没有人不知道吧。在dreamweaver里可以直接设置[页面属性]中的[编码],然后会发现编辑器里的字体已经变了。但仅仅这样做是远远不够的,重要的还在下面。
然后要将所有文件保存成utf-8格式的。具体的方法是,用记事本打开要保存的文件,选[另存为],然后,在编码中将默认的ANSI(也就是ascii编码)改为utf-8,是utf-8而不是unicode或其他。
http://wubin.name/Upload/save_utf-8_file.png

以上两点是其他很多网站都讲过的地方,仅仅这样做之后会发现,还有很多问题,比如汉字乱码,或者出现“未结束的字符串”等。下面还有三步!
1)ASP文件最前面写<%@CODEPAGE="65001"%>,原来就有的要改变CODEPAGE,utf-8就要用65001,前面那个脚本语言,如果就用vbscript的话就不用写了。不是每个文件都要写,而是只要在独立的页面写上就可以了,不包括包含文件。
2)经过上面的那些步骤,刷新一下,基本上就应该可以了。但是,你关闭浏览器重新打开试试,发现了什么?页面一片空白!打开右键菜单,找到编码,选择utf-8,这才一切正常。也就是说,浏览器可能不会自动识别编码。在第1)步内容的后面加上response.charset="utf-8"即可。
3)完成之后,重新打开浏览器,发现一切正常。但这并不代表工作已经完成了。多刷新几次试试?结果发现,第一次很正常,刷新之后,汉字就出现乱码了。这时,还要在第2)步的后面加上session.CodePage = 65001才行。这一句并不是每个文件都要加,只要在首页加上就行了。既然用session,就可能出现过期的现象,那就都加上吧。这时,如果你的站点中还有gb2312的页面,刷新它,就会发现,那个页面中的汉字已经出现乱码了。
经过以上若干步骤,不出意外,就可以正常使用utf-8了。
有时会遇到奇数汉字或中英文混合时出现乱码或“未结束的字符串”,如果你用的是netbox而不是IIS的话,就请换用IIS,不用netbox,或把网页传到虚拟空间上再试。基本上都是netbox本身引起的。
数据库不需改动,因为数据库内部就是unicode编码的,出来的时候再转换成其他编码。
另外,需要注意的是,在utf-8中不可以通过URL参数传递汉字,如果需要的话,要加上server.URLEncode(),记得以前使用gb2312时没遇到过这样的问题。
基本上就这些了,有问题再补充,呵呵~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
产品介绍   NetBox 是一个全新概念的开发平台,它提供了业界最快速的用于开发 Internet 商业应用的开发和编译工具。NetBox 支持包括 JavaScript、VBScript、Perl 等目前应用最为广泛的脚本语言来构建功能强大和性能稳定的应用服务器、网络服务器以及 HTML-Based 网络多媒体桌面应用。NetBox 支持目前最为流行的 XML 和 Web Service 工业标准和 ASP、COM、.NET 等流行标准,NetBox 对第三方数据库的完美支持使您新构建的商务应用可以容易的将已有的应用系统整合进来,从而充分利用现有的 IT 资源,大大的节约投资。NetBox 提供的 SSL、TLS 安全协议、RSA、DES 等加密算法和独立于应用程序的虚拟机技术使您的数据得到最大限度的保护。NetBox 提供将应用部署到无线设备的能力。NetBox 提供将您的应用编译成独立可执行文件的能力,极大的加快运行速度和代码安全性。使用 NetBox 开发,大大提高了应用系统的可扩展性、稳定性和安全性。NetBox 的出现也首次让应用软件开发商能够如此快速和容易的构建完整的基于 Internet 强大应用。   NetBox Development Platform 开发 Server Application 和 Desktop Application,编译 Web 应用成独立可执行文件: 支持 JavaScript、VBScript、Perl 等脚本语言 支持 XML 和 Web Service 兼容 Active Server Pages 支持 COM 和 .NET 组件 支持 SSL 3.0、TLS 内置 RSA、DES、3DES、SHA、MD5 提供可编程的安全虚拟机用于运行第三方程序 支持通过 ADO 和 ODBC 访问几乎所有的大型数据库 支持系统硬件设备 RS232、RS485 等 支持基于 Microsoft、CISCO 和其他厂商的群集技术 兼容 Windows Script Components 并提供编译支持 支持 WAP、WML 构建 Web Service 和 Internet 应用程序   NetBox 提供一套完整的脚本语言开发环境,提供超轻量脚本引擎和极快的 Web Server,桌面应用对象轻松开发出基于 HTML 界面整合多种媒体的 XML 桌面应用。   NetBox 提供 Microsoft IIS 5.0 兼容的 Active Server Pages 模块,不用修改代码直接将已经存在的使用 ASP 开发的应用程序移植到 NetBox 平台上来,也可以直接使用已经存在所有 COM 组件。通过修改一部分代码,用 NetBox 的高性能对象大大的提高运行速度。区别于 IIS,NetBox 在 ASP 中加入对 .NET 对象的直接支持,并且可以编译 ASP 引擎和代码到独立执行文件中。   通过 ADO 和 ODBC,NetBox 开发的应用可以访问几乎所有的大型数据库和桌面数据库。通过对XML的集成,加强了和外部应用和数据的集成能力,新加入的对 SOAP、UDDI、WSDL,方便构建出下一代 Internet 应用程序。   无论是开发简单的桌面应用,或是复杂的 Internet 应用,还是下一代的 Web Service 应用,你都可以从 NetBox 中得到巨大的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值