如何处理sybase的乱码问题?
用java访问sybase数据库时,把中文写入数据库后,用java取出后是中文,但是在sybase客户端却显示乱码,如果数据库中是中文则用java取出后是乱码,可能是两边的编码不一致的问题,请问cp850支持中文吗?如何把sybase的字符集改为eucgb? 问题点数:0、回复次数:12Top
1 楼pifulu(匹夫)回复于 2004-08-10 16:02:55 得分 0
关注
我也碰到这个问题了Top
2 楼skymark126(叮咚)回复于 2004-08-11 11:15:25 得分 0
你先找到eucgb的id
然后在sql环境中
1>sp_configure "default character set id ,id的数值"
2>go
若不是数据库的问题就改下java的数据传输:把gb2312改为iso_8895_1Top
3 楼NetFriend(NetFriend)回复于 2004-08-11 13:16:18 得分 0
如何更改服务器的字符集为cp936
(这里SYBASE的安装路径为c:\sybase)
1.c:\>cd \sybase\charsets\cp936
2.c:\sybase\charsets\cp936> charset -Usa -Psa_pass -Sserver_name binary.srt cp936
3.在SQL环境中
1>select name,id from syscharsets
2>go
找到name为cp936对应的id(假设为117)
.1>sp_configure "default character set id,117
2>go
5.重启server两次
(注:第一次启动后,server会自动宕掉,需要第二次重启后才能使用)
Top
4 楼pifulu(匹夫)回复于 2004-08-28 11:03:56 得分 0
我是用了com.util.Util.convertChinese解决的问题Top
5 楼wangxm001(Bob)回复于 2004-08-30 16:00:40 得分 0
请问NetFriend(NetFriend):
我在cmd下运行charset ,系统告诉我:charset不是可运行的内部命令或者外部程序,在哪里找charset命令或者程序Top
6 楼hobbylu(东方一剑(提供技术咨询服务,请联系QQ31827516))回复于 2004-08-31 08:31:46 得分 0
$SYBASE\ASE-12_5\binTop
7 楼huopeng()回复于 2004-08-31 11:20:25 得分 0
cp850支持中文,修改LOCALS文件就可以了Top
8 楼sybasezj()回复于 2004-08-31 17:41:29 得分 0
首先SYBASE SERVER和CLIENT的字符集要一致,我都用的ISO-1。
下载SYBASE Jconnect2.
写一个JAVA BEAN或直接在JSP中写连接
package sybconn;
import java.sql.*;
public class sybaseconn {
//logindem指ODBC数据源名字
String url = "jdbc:sybase:Tds:10.2.1.0:5000/webdb?charset=eucgb";
//声明连接接口
Connection conn;
public sybaseconn() {
try {
//使用jdbc与odbc桥创建数据库联接
Class.forName("com.sybase.jdbc2.jdbc.SybDriver");
//使用DriverManager类的getConnection()方法建立联接
//第一个字符参数定义用户名,第二个字符参数定义密码
conn = DriverManager.getConnection(url, "sa", "yourpassword");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
//取得数据库联接的方法
public Connection getConn() {
return conn;
}
}Top
9 楼tommyhuanglei(汪洋里的海盗)回复于 2004-09-08 11:42:01 得分 0
更改了字符集以后原来的程序还用更改吗?Top
10 楼deav(就是想开发点东西!)( …………)回复于 2004-09-10 01:56:04 得分 0
在连接字符串里添加“Character Set=iso_1;”Top
11 楼lynmison(菻梓)回复于 2004-09-10 10:30:27 得分 0
我用的是11.5,解决乱码也是用iso_1。Top
12 楼chaozhuang(原本一个做市场的却做了技术)回复于 2004-09-13 14:46:23 得分 0
markTop




