您的位置:首页 > 编程语言 > Java开发

Java中文识别问题完全解决办法[一]

2004-08-15 00:05 671 查看
版权归 石太祥 (ealpha(AT)msn(DOT)com)所有;
联系:   msn: ealpha(AT)msn(DOT)com
            QQ : 9690501
 

==============================================================================
由于部分网友提示说文章解决不是很全面,我会再发一个新的类,用来解决一般的中文的问题的!

==============================================================================

Java 不能正确显示中文一般是如下两种情况 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

许多情况应该针对环境变量,调试环境来确定转码方式!以下方法能够解决大多的问题!

1、如果JDBC能正确存取中文的话.
在PAGE 指令中试试contenttype="text/html chaterset=gb2312" 

例:
<%@?page?language="java"??contentType="text/html;?charset=GB2312"?import="java.sql.*" %>

2、JDBC中无法正确存储中文
(1) String address=request.getParameter("address"); 
byte[] tmpbyte=address.getBytes("ISO8859_1"); 
address=new String(tmpbyte); 
(2) 
String name=request.getParameter("name"); 
name = new String(name.getBytes("gb2312"),"ISO8859_1"); 

"ISO8859_1" 和"gb2312"可以尝试交换

例:

/**************************************************************************
nickname        为一个假设的字段
tm nickname      转码时候临时字段
**************************************************************************/

     String nickname=rs.getString("nickname").trim();   //读出信息  ****
     byte[] tmnickname=nickname.getBytes("ISO8859_1");  //对信息进行编码转换 tm**** 临时存储数据
nickname=new String(tmnickname);                   //将转换后的 tm**** 赋给字段 ****
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java jdbc byte 存储 qq