发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

怎么解决SQL server 2000的中文问题?

2003-05-28 09:06
赞助商链接

我下载jive在本机上运行。
环境:winxp+tomcat4.19+SQL server 2000
现在一切都可以运行啦,可是就是不能发中文信息?
请教高手怎么解决?

red
2003-05-28 19:15

首先找到写库的类DbFroum和DbFroumMessage,在写库前,将字符串转码。由ISO8859_1转为GBK;
其次将所有jsp页面的charset由ISO8859_1换为GBK;
这样做过后一切OK.

2003-05-29 09:42

red,能不能把字符转换的代码贴出来?
这样讲好抽象哟!

red
2003-05-29 10:53


public String getCHStr(String str){
try{
if(str==null)
return null;
str=str.trim() ;
str= new String(str.getBytes("ISO8859_1"),"GBK");
return str;
}catch(Exception e){
e.printStackTrace() ;
}
return null;
}

如:pstmt.setString(2, getCHStr(name));

2003-06-03 14:53

我遇到的中文问题是如下:
(tomcat)
sqlserver 2000 采用nvarchar字段,jsp用:
page contentType="text/html; charset=ISO8859_1"
数据不经任何转码工作即可存储到数据库中;
用“查询分析器”查出为:ÖÐÎÄµÄ (内容:中文的)
用jdbc select 出,可直接在界面上显示,没有任何乱码

但是现在问题出现了,就是用select like语句的时候
不论如何都无法like出需要的数据;
以上面的数据“中文的”为例
String sql = "select * from table where field like '%"+str+"%'";
上面的str是从request.getParamter中获取,毋庸置疑是8859_1,而
拼接成的sql也是8859_1编码,将此sql语句经由jdbc 执行后,却无法返回任何数据;

还望各位大侠出招,多谢

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com