11.1.1 汉字使用与字符集转换
目前,由于wap技术及其应用还没有完全成熟,不同的系统,不同的wap服务器和wap客户端设备执行的标准在细节上可能有所出入,所以wap文件的编码方式、微型浏览器所支持的编码方式、服务器和微型浏览器的相关设置以及开发系统所支持的编码方式等都有可能存在一些差异。因此,当在wap开发中,比如wml编写的页面中使用汉字的时候,一方面我们需要设置服务器和浏览器的配置,使之支持汉字字符集,另一方面我们需要对汉字字符集进行转换,转换成绝大多数wap服务器、微型浏览器所支持的字符集(如utf8或unicode)或编码类型。
现在,使用最普遍的汉字字符集是gb2312,那么我们为了顺利地在wml编程和wap页面浏览中使用汉字,就需要进行以下工作:
(1) 在为wap服务器中设置文件类型的mime表时,可在“text/vnd.wap.wml”后加上“;charset=charset_name(字符集名称)”的内容。比如,若使用gb2312汉字字符集,则可输入wml文件的内容类型为“text/vnd.wap.wml;charset=gb2312”,这样就可使wap服务器支持符合字符集gb2312的汉字。
(2) 在设计wap网页时,可在程序中为返回类型指明汉字使用的字符集,即将charset加在向用户浏览器发送信息的类型后,比如使用gb2312的字符集,则可按以下方式写出程序代码:“content-type: text/vnd.wap.wml; charset=gb2312”(不包括引号)。
如果使用asp、php等技术编写wml程序,则可在相应的contenttype脚本语句的最后加上“;charset=gb2312”,指定汉字字符集。
(3) 使用专门的字符转换工具来转换,将编写的wml、wmlscript或hdml的程序代码转换为utf8或unicode的编码。目前inte.net有许多站点提供有wap编程中所需的字符转换工具或控件,不仅可以转换汉字,而且还可以转换繁体中文、韩文、日文等其他字符集。
例如,www.wapschool.com和www.bookingall.com提供有一个可免费下载的小巧玲珑、简单而又功能强大的字符集转换工具converter.class,它可以将使用汉字的wap程序转化为任何类型的字符集。读者从本书所随光盘中也可以找到该转换工具。它使用java语言编写,采用的是命令行执行方式,安装时需要将converter.class文件复制到所用系统的classpath目录中。该工具软件可在任何平台运行。它的用法如下:
java converter filename convertingtype
其中,filename是需要转换的文件名,convertingtype是要转换的目的字符集类型。
例如,我们需要将wml程序文件mytest.wml转换成unicode或utf8编码字符集,则可分别使用如下命令:
java converter mytest.wml unicode
java converter mytest.wml utf8
当然,用户所用机器系统中需要有java runtime environment环境,本书所随光盘提供了java runtime environment 1.1,读者可以安装该软件进行测试。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器