20071207 wap charset
http://www.yippeesoft.com
在text/vnd.wap.wml后加上“;charset=charset_name”,如GB2312汉字 :text/vnd.wap.wml;charset=gb2312
好像修改无效,输出得还是·······
一、定义文档类型、字符编码
Response.Clear();
Response.Buffer= true;
Response.Charset="utf-8"; 网页游戏
//下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开
//filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc .xls .txt .htm
Response.AppendHeader("Content-Disposition","attachment;filename=FileFlow.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
//Response.ContentType指定文件类型 可以为application/ms-excel application/ms-word application/ms-txt application/ms-html 或其他浏览器可直接支持文档
Response.ContentType = "application/ms-excel";
this.EnableViewState = false;
在winwap中查看源代码会看到如下:
HTTP/1.1 200 OK
Connection: close
Date: Tue, 16 Dec 2003 15:45:54 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
MicrosoftOfficeWebServer: 5.0_Pub
X-AspNet-Version: 1.1.4322
Pragma: no-cache
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 223
–[ 头部结束 ]——
我用的是asp.net生成的aspx文件,IIS服务器不是会自动生成wml格式的文件的吗?但上面信息却是texb/html,正常的该是Content-Type: text/vnd.wap.wml的
也就是说如果如果梦网发了这样的HTTP 请求
GET /default.aspx?MISC_ID=0011&MISC_SessionID=0011-8f5bfdd6!-1686912218!-505904229!1118369953846&MISC_ServiceID=08888888&MISC_AccessMode=2&MISC_MID=009999909988 HTTP/1.0
而你返回一个重定向:
HTTP/1.1 302 Found
Connection: close
Date: Fri, 17 Jun 2005 02:26:04 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Location: /(szafdf2s5sjw4i45d2etgo55)/default.aspx?MISC_ID=0011&MISC_SessionID=0011-8f5bfdd6!-1686912218!-505904229!1118369953846&MISC_ServiceID=08888888&MISC_AccessMode=2&MISC_MID=009999909988
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 157
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href=\’/(szafdf2s5sjw4i45d2etgo55)/default.aspx?MISC_ID=0011&MISC_SessionID=0011-8f5bfdd6!-1686912218!-505904229!1118369953846&MISC_ServiceID=08888888&MISC_AccessMode=2&MISC_MID=009999909988\’>here</a>.
</h2>
</body></html>
Content-Type: text/html; charset=utf-8和<html>的代码,MISC认为这不是正确的WML数据格式。
他们期待的是Content-Type: text/vnd.wap.wml; charset=utf-8 和 wml格式的代码。
个人建议如下:
.建议不要用cookieless="true"。要自己做会话标识,可以在每一个链接的后面添加GET参数标识当前用户,然后自己用户Cache或者HashTable维护这个用户的信息。
.首页用一个其他的页面来处理,但是要自己处理 GET参数,然后才进入Aspx的页面。
.修改IIS默认的302的返回格式,返回Content-Type: text/vnd.wap.wml; charset=utf-8 和 wml格式的代码。
.在业务首页地址或者计费地址和MISC交互的时候,最好不要使用RedirectToMobilePage.
三、当我用模拟手机浏览我的WAP网页时,汉字显示出现乱码或编译出错,我该如何设置?
以下有几种方法可以设置:
1、可在WEB服务器中设置MIME表时,在text/vnd.wap.wml后加上“;charset=charset_name”,如GB2312汉字 :text/vnd.wap.wml;charset=gb2312
Content MIME type Extension
WML text/vnd.wap.wml; charset=charset_name wml
2、若你在设计动态WAP网页时,出现汉字显示乱码,你可以在程序中将返回类型指明所使用的字符集。
在程序中,将CHARSET加在向用户浏览器发送信息的类型后, 按以下方式写:
"Content-type: text/vnd.wap.wml; charset=gb2312"。
如在ASP中: Response.ContentType = "text/vnd.wap.wml; charset=gb2312" ,在PHP、PERL等服务器端脚本中比较类似。
基于WINDOW NT 平台的IIS设置WAP Server
只要按照以下的简单设置,就可以让NT IIS成为WAP服务器,您可以撰写WML网页或者开发各种服务。
设定方式:(先确定NT Server已经安裝IIS了服务)
执行NT操作系统下的【开始】/【程序】/【Windows NT Option Pack】/【IIS 4.0】/Internet服务管理员。
在IIS服务管理员窗口內,点选主机电脑名称后,按鼠标右鍵,点选“属性”选项;
在属性窗后下部有一个文件类型按钮,单击此按钮,会出现文件类型界面;
单击‘新增类型’按钮,然后在相关的扩展名栏中填写 .wml ,在内容类型(MIME)栏中填写 text/vnd.wap.wml
单击‘确定’按钮
重复以上步骤将以下WML类型新增至MIME內:
相关的扩展名 內容类型(MIME)
.wml text/vnd.wap.wml
.wmlc application/vnd.wap.wmlc
.wmls text/vnd.wap.wmlscript
.wmlsc application/vnd.wap.wmlscriptc
.wbmp image/vnd.wap.wbmp
历史博文
- 20070419 firefox addon Extensions 插件 扩展 - 2007
- 0420 WINCE VS.NET 开发 ActiveSync 模拟器 2 - 2006
- SmartDevice pocket pc 2003 VS.NET 1 - 2005