在WAP的开发中经常会碰到一些浏览器不支持中文的情况,这个时候要把中文GB2232转换成Unicode格式。 转换成Unicode格式并不麻烦,只需要在字符的ASCII值前面加上“#x”,后面加上“;”就可以了。
ASP WML Access制作
<%@ Language=VBScript %> <% Response.ContentType="text/vnd.wap.wml"%><?xml version="1.0" encoding="gb2132"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <% dim conn set conn = server.createobject("adodb.connection") conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("data.mdb") Set rs_placard=Server.CreateObject("adodb.Recordset") sql="select * from placard order by id desc" rs_placard.open sql,conn,3,3 %> <% Function uni(Chinese) For i = 1 to Len (Chinese) a=Mid(Chinese, i, 1) uni=uni & "&#x" & Hex(Ascw(a)) & ";" next End Function %> <wml> <card id="main" title="ASP Web"> <p> 今天时间是:<br/> <%=Now()%> </p> <p><%=uni(rs_placard("placard_content"))%><br/><br/></p> <p>Data:<%=uni(rs_placard("placard_time"))%></p> </card> </wml> <%
rs_placard.close() Set rs_placard = Nothing conn.close() Set conn = nothing %>
以上显示效果为:
今天时间是: 2004-10-14 15:38:46
漫长的十一假期终于结束了,又要投入到新的工作中了,网站的更新我也将会继续,要是碰到好的教程和文章,D5S会第一时间加入到栏目中,感谢广大网友对我们的支持。
http://www.chinahtml.com
data:2004-10-8
转换函数:
<% Function uni(Chinese) For i = 1 to Len (Chinese) a=Mid(Chinese, i, 1) uni=uni & "&#x" & Hex(Ascw(a)) & ";" next End Function %>
其他方法:(以下转自http://blog.csdn.net ) 1.全部采用utf-8。在文件开头
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd"> <%@ page contentType="text/vnd.wap.wml; charset=UTF-8" %>
2.在web.xml中设置
<context-param> <param-name>weblogic.httpd.inputCharset./*</param-name> <param-value>UTF-8</param-value> </context-param>
或者在文件里加上request.setCharacterEncoding("utf-8");
3.文件里先用检体中文写,然后找个软件把中文转成utf-8;
4.最好不要用<a href="">而改用<anchor><go href=""><postfield>,我发现传中文utf的时候,第一种
情况有些模拟器不支持。
现在中文问题基本没有额外转化的处理了。
|