<?php
//取GB2312字符串首字母,原理是GBK汉字是按拼音顺序编码的.
function get_letter($input){
$dict=array(
'a'=>0xB0C4,
'b'=>0xB2C0,
'c'=>0xB4ED,
'd'=>0xB6E9,
'e'=>0xB7A1,
'f'=>0xB8C0,
'g'=>0xB9FD,
'h'=>0xBBF6,
'j'=>0xBFA5,
'k'=>0xC0AB,
<?php
//取GB2312字符串首字母,原理是GBK汉字是按拼音顺序编码的.
function get_letter($input){
$dict=array(
'a'=>0xB0C4,
'b'=>0xB2C0,
'c'=>0xB4ED,
'd'=>0xB6E9,
'e'=>0xB7A1,
'f'=>0xB8C0,
'g'=>0xB9FD,
'h'=>0xBBF6,
'j'=>0xBFA5,
'k'=>0xC0AB,
使用ajax(动态网站静态化)过程中,有时候总会遇到一些难题,浏览器兼容、编码、IE下的特殊处理等等,偶尔会搞的人头昏脑胀哭笑不得,这里列一些小贴士,或许有些用。
使用Javascript库
ajax(动态网站静态化)的流行和巨大威力,让我们重新审视了Javascript的开发,也直接促使各种库的出现。对于普通的开发者,使用一些适合自己的Javascript库不仅可以避免ajax(动态网站静态化)应用上的浏览器兼容等问题,也使其开发更加的稳定和高效。这里列一些我知晓的轻量级的Javascript库:
YUI:YAHOO出品,组件丰富强大健壮稳定,是团队协作开发的首选。
JQuery:灵活、高效,其基于CSS3 和XPath的选择器语法引擎非常的强大和完整。
Prototype:是一个非常优雅的Javascript库,最经典的莫过于$符号了,DWR,JQuery都被它吸引了。在它基础上出现了script.aculo.us。
Mootools:核心语法和Prototype比较类似,但是用过之后才
此demo将指导您如何创建一个新的jQuery的项目,并获得与您的编码开始使用jQuery库的记录由Aptana提供。
1、编码
编码比较常用的有: UTF-8, GBK, GB2312, ISO-8859-1,除了 iso-8859-1之外的其它三个编码都能很好的支持中文,但它们都兼容 ISO-8859-1的编码(就是说无论编码怎么改变,只要是 ISO-8859-1中的字符,永远不会出现乱码)。
这四种编码中, GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK 是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名;而 UTF-8虽然也支持中文,但却与GB码不兼容(编码值不同)。UTF-8使用的是可变长的 UNICODE编码,编码可能是 1位 16进制(即 ISO-8859-1中的字符,其编码也是相同的)也有可能是 2位或 3位的 16进制。 UTF-8的优点是:1、与CPU字节顺序无关 , 可以在不同平台之间交流。 2、容错能力高 , 任何一个字节损坏后 , 最多只会导致一个编码码位损失 , 不会链锁错误 (如 GB码错一个字节就会整行乱码 ),所以在国际化处理中基本都是建议使用 UTF-8作为编码。
2、文件的编码
文件编码最常使用的有两种:ANSI和UTF-8,光看名字估计你都可以猜到了,ANSI就是我们保存文件时使用的默认编码,而UTF-8则需自己设置。对于编码的改变,我使用的工具是NOTEPAD和ECLIPSE,NOTEPAD使用最简单,只要打开文件后在另存为中选择相应的编码就行了,而且它对编码的支持非常好;而在ECLIPSE中,只要稍微设置一下就行了,打开首选项,然后选择:常规->内容类型(ContentType),在右边选中你想改变保存编码的文件类型,然后在下方的缺省编码中改变其值,最后点击更新(UPDATE)按钮即可。
这里的方案是页面(page)是基于GBK(gb2312) 的编码格式
AJAX的中文情况,默认情况下,tomcat和weblogic的get和post请求的编码方案都不一样,不过前提都是要设置 request.setCharactorEncoding("UTF-8")如下面代码中,get方案是很烦琐的那种将得到的参数重新编码来实现 的|new String(request.getParameter("para name").getBytes("encoding name"))|而post方案是比较简单而方便的,也提倡使用这种方式,因为可以基于filter来管理编码
tomcat可以通过设置在server.xml里的Connector元素下设置URIencoding="gbk"参数来让get使用 post的方案(即get和post都使用request.setCharactorEncoding("UTF- 8"),request.getParameter("para name") )具体设置参考http://www.javaeye.com/topic/131542,不过在weblogic下无解(我个人还没发现如何实 现),weblogic好像在解析get参数后自己又用什么编码格式包装过......其实AJAX get根本没有普通请求get请求作为标签的作用,我们完全可以不使用get,而只使用post
测试用的jsp和servlet在下面,丢到一个项目里,在web.xml里配置servlet后运行可以看到效果,servlet的url- pattern是这个<url-pattern>/GetAndPostExample</url-pattern>
getAndPostExample.jsp