最近做一个项目,需要使用SYBASE数据库。
基本功能就是从SYBASE中读取信息在页面显示。
页面字符集是UTF-8
SYBASE默认字符集是 ENCGB
本来功能是正常的。
最近发现一个问题,在数据库中保存一些生僻字后,如果直接用isql在SYBASE数据库里写是可以正常保存的。
例如:喆,在数据库里保存是正常的。
但是通过JDBC连接数据库,读出来的却是“?”
连接数据库的URL是这样写的。
jdbc:sybase:Tds:localhost:5007/myDB?charset=cp936
普通汉字都可以正常的进行读写,只有那些生僻字无法显示。
SYBASE数据库中也添加了cp936字符集。
但是还是无法正常读写生僻汉字。
数据库的默认字符集不允许 改为“CP936”,所以只能在连接字符串上添加字符集CP936
大家有没有遇到过这种问题。
通过JDBC连接SYBASE获取的结果是什么字符集的呢?可以在读写的时候对字符串的编码进行转换吗?
基本功能就是从SYBASE中读取信息在页面显示。
页面字符集是UTF-8
SYBASE默认字符集是 ENCGB
本来功能是正常的。
最近发现一个问题,在数据库中保存一些生僻字后,如果直接用isql在SYBASE数据库里写是可以正常保存的。
例如:喆,在数据库里保存是正常的。
但是通过JDBC连接数据库,读出来的却是“?”
连接数据库的URL是这样写的。
jdbc:sybase:Tds:localhost:5007/myDB?charset=cp936
普通汉字都可以正常的进行读写,只有那些生僻字无法显示。
SYBASE数据库中也添加了cp936字符集。
但是还是无法正常读写生僻汉字。
数据库的默认字符集不允许 改为“CP936”,所以只能在连接字符串上添加字符集CP936
大家有没有遇到过这种问题。
通过JDBC连接SYBASE获取的结果是什么字符集的呢?可以在读写的时候对字符串的编码进行转换吗?
在使用SYBASE数据库时,通过JDBC连接读取含有生僻汉字的数据出现乱码问题,如“喆”字显示为“?”。尽管已设置连接字符串字符集为CP936,但仍无法正确读写。

965

被折叠的 条评论
为什么被折叠?



