星期三, 二月 11, 2004

如何使用LATIN 1模拟Unicode数据存储?

前言:
Latin 1(iso-8859-1)属于SBCS(Singe-byte character set).
使用0-127表示ASCII,,不过是8位全用的。
汉字输入DBCS(DOUBLE-Bytes Character set)
UCS-2:DBCS
Unicode( Universal character encoding )???璺?锛?
1.jsp加入<@ page Encoding="text/html;charset=utf-8">
强制Browser把所有提交的form数据使用UTF8.
2.Servlet必须设置request的CharacterEncoding为utf-8,可以使用支持Servlet 2.3规范的Web Container来做的.
3.在插入数据库Unicode的时候,把UTF8数据库分解为2个8位表示的iso-8859-1字符串.refactor
new String(data.getBytes(),"iso-8859-1")

显示的时候把读出来的ISO-8859-1数据重新还原为UTF-8new String(data.getBytes("iso-8859-1","UTF-8"))
这样在jsp中显示出来的就是汉字了.
<%=new String(data.getBytes("iso-8859-1","UTF-8")%>注意:data是刚从数据中读出的数据