java向sybase12.5插入数据时显示"??",要死人了

awincsdn 2003-10-16 05:40:45
我用的是wsad5.0 + sybase12.5 ;
查询出来的数据经过cp850可以转换显示中文。
可是插入的数据却显示为??
一个中文对应一个?
我用的sybase的5-5 jdbc.
无论如何转换sql语句都不行。

要死人了
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
naxin 2003-10-17
  • 打赏
  • 举报
回复
3.如何处理用jConnect连接Sybase数据库时中文乱码的问题:

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

  例如:

  jconnect 4.2:

  jdbc:sybase:Tds:hostname:port/dbname?charset=eucgb&jconnect_version=4

  jconnect 5.2:

  jdbc:sybase:Tds:hostname:port/dbname?charset=eucgb&jconnect_version=0
naxin 2003-10-17
  • 打赏
  • 举报
回复
楼主啊,你总该知道写的JSP文件中也是要指定GBK的吧?
awincsdn 2003-10-17
  • 打赏
  • 举报
回复
可是如果用sun的jdk直接作一个应用程序,却正常。
但是如果放到jsp里,就又不行了
awincsdn 2003-10-17
  • 打赏
  • 举报
回复
没有办法,还是不行。
这样转换还是不行,我在数据库的locales.dat
[nt]
...........
locale = default, us_english, cp850
可是无论我把程序写成什么样子都不行
老土豆T 2003-10-17
  • 打赏
  • 举报
回复
我也使用的是Sybase. 驱动为jconn2d.jar

保证中文显示正常方式有两种。。

一: 数据库字符集为 cp850 -----jsp 使用字符集为GBK:读的时候不需要转化。。但输入的时候。需要将 s.getBytes("ISO8859_1"),"gb2312")


二: 数据库字符集为 eucgb----jsp 字符集为iso8859_1。这个时候什么都不用管,只要保证server上都使用中文系统就行了。
huangzhhua 2003-10-16
  • 打赏
  • 举报
回复
看看数据库的编码对不对?
我在mysql也碰到一样的问题,数据库默认的字符集是英文的,插入的时候就是??
但是在数据库中写好中文可以读出来

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧