java在数据库中文字符数据的写入读取时的解决方法

博客主要介绍了在JSP和Java中处理数据库中文编码的方法。在SQL Server中,若数据经JSP页面传输需重新编码;在MySQL中,写入时重新编码后读取。同时说明了用jConnect连接Sybase时,要确保数据库使用中文字符集,设定必要连接属性,取得的数据还需字符转码。

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

其它Filter等方法,大多网站有介绍,这里不多说了

1:重新对字符串编码

   String sName=rs.getString(“sName“);

   sName=new String(sName.getBytes(“ISO-8859-1“),“GBK“);

   此时中文可以正确显示
  

    注: 在SQL Server中写入数据时,直接写入,直接读取(如果写入或查询的参数经过JSP页面传输,也就是使用了request.getParameter()方法的话,取出来的数据要重新编码)

             在MySQL中,写入数据时,重新编码后读取,直接写入

            (以上在JSP中实现)
2:连接声明:
  用jConnect连接Sybase
  确保数据库使用中文字符集,如 eucgb, utf8, cp936, 同时, 在 jconnect 编程时设定必要的连接属性, 包括 charset (要求与数据库保持一致) 和 jconnect_version.

  例如:

  jconn3:

  jdbc:sybase:Tds:hostname:port/dbname?charset=cp850&jconnect_version=3

并且取得的数据还是要经过1步骤的字符转码才可在Java里正常显示

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值