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

本文介绍了如何解决Java在显示和存储中文时遇到的问题。通过调整页面contentType和使用特定的字符编码转换方法,如ISO8859_1与GB2312之间的转换,可以有效处理JDBC中的中文存储和页面显示问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权归 石太祥 (ealpha(AT)msn(DOT)com)所有;

联系:   msn: ealpha(AT)msn(DOT)com

            QQ : 9690501

 

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

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

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

Java 不能正确显示中文一般是如下两种情况

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


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

例:


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**** 赋给字段 ****

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值