WML的几个小陷阱(浪费了不少时间哦)
2005-10-19 15:50
190 查看
1、WML的语法比HTML严谨。不成对出现的标记一定要用“/>”结尾,不然会有奇怪的结果,让你摸不着头脑。尤其在HTML中用惯的<input...>和<br>一定要写成<input ... />和<br/>。而且value的值一定要用引号括住,如不能写成:<input name=a value=1/>而要写成<input name="a" value="1"/>,否则服务端会得到$_REQUEST['a']='1/',而且下一个input值还得不到(因为第一个input还没结束);
2、要通过http header:Location来跳转页面的话,HTML可以用相对路径,WML必须用绝对路径,例如PHP中:
HTML:
header("302 Moved Temporarily");
header("Location: target.html");
WML:
header("302 Moved Temporarily");
header("Location: ".dirname($REQUEST_URI)."/target.wml");
3、其实这个不是WML的问题,而是WAP网关的问题:WAP网关会把提交的数据用UTF-8编码,因此涉及中文的话,服务端要进行UTF-8到GB2312的转换(当然,如果程序和数据库都用UTF-8编码保存的话就不用了)。PHP下可以用iconv搞定:
$name=iconv('UTF-8','GB2312',$_REQUEST['name']);
2、要通过http header:Location来跳转页面的话,HTML可以用相对路径,WML必须用绝对路径,例如PHP中:
HTML:
header("302 Moved Temporarily");
header("Location: target.html");
WML:
header("302 Moved Temporarily");
header("Location: ".dirname($REQUEST_URI)."/target.wml");
3、其实这个不是WML的问题,而是WAP网关的问题:WAP网关会把提交的数据用UTF-8编码,因此涉及中文的话,服务端要进行UTF-8到GB2312的转换(当然,如果程序和数据库都用UTF-8编码保存的话就不用了)。PHP下可以用iconv搞定:
$name=iconv('UTF-8','GB2312',$_REQUEST['name']);
相关文章推荐
- mssql存储过程转为mysql 的一些细节, 浪费了不少时间,在此做下记录
- 为了赚几个积分浪费一晚上时间
- 写不完的BUG,纪念因为手滑写错代码而浪费的几个小时时间。
- 昨天听某哥说, 某变量没有初始化, 结果有概率性大坑, 浪费不少时间定位处理!
- 折腾:一个小破ASP程序也能浪费不少时间
- 又浪费了不少时间
- 浪费了我2天时间终于搞定led驱动bug
- 时间即财富:创业者浪费精力的八个错误
- 几个时间控制函数
- PHP时间戳的问题几个小示例
- sql server调试sql执行时间的几个方法
- 不要将时间浪费到编写完美代码上
- 黑马程序员:与日期和时间相关的几个类
- C++ string中的几个小陷阱,你掉进过吗?
- nofollow标签浪费了多少站长做外链的时间
- 这两天在想一个算法,想了不少时间
- C# 时间(几个常用时间,程序运行计时,页面运行计时)
- 一定间隔时间下重复执行一个函数的几个方法
- C# 时间(几个常用时间,程序运行计时,页面运行计时)
- UICollectionView实现无限滚动(理解花了我不少时间)