乱码,郁闷????(全给,100 分)

huaronghu 2003-04-12 03:18:50
相同的jsp程序,相同版本的数据库(oracle8.1.6),但是在字符集是ZHS16GBK的数据库下能正确录入/显示汉字,但是在字符集是US7ASCII的数据库下就全部是???了,请高手们帮忙!!
补充描述如下:
在写入数据库之前,对数据作了转换
str1=new String(str.getBytes("8859_1"));
str为中文字符串,
从数据库中取出时不做转换,
str=rs.getString("test");
在写入数据库之前试过以下几种转换都不行:
str1=new String(str.getBytes("8859_1"),"GBK");
str1=new String(str.getBytes("8859_1"),"GB2312");
str1=new String(str.getBytes("8859_1"),"UTF8");
str1=new String(str.getBytes("ISO8859_1"),"GBK");
str1=new String(str.getBytes("ISO8859_1"),"GB2312");
str1=new String(str.getBytes("ISO8859_1"),"UTF8");

我们开发环境使用的ORACLE字符集是ZHS16GBK,一切OK,
可是拿到用户哪儿安装后就全部成乱码了,用户ORACLE数据库字符集是US7ASCII,还不能改,因为还有其他应用在跑,
郁闷!
...全文
16 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
DavidBone 2003-04-20
  • 打赏
  • 举报
回复
ding
yujinping 2003-04-18
  • 打赏
  • 举报
回复
jsp 编程使用urtf-8编码就不用考虑中文问题拉!
unclymouse 2003-04-18
  • 打赏
  • 举报
回复
<%request.setCharacterEncoding("gb2312");%>

给分啊给分啊给分啊给分啊给分啊给分啊给分啊
moumouren 2003-04-18
  • 打赏
  • 举报
回复
up

不知道能不能接到分
DavidBone 2003-04-18
  • 打赏
  • 举报
回复
up
java悠悠 2003-04-18
  • 打赏
  • 举报
回复
jsp中加入
<%
request.setCharacterEncoding("GB2312");//设置编码
%>
SlzAgain 2003-04-14
  • 打赏
  • 举报
回复
request.setCharacterEncoding("gb2312");
不行呀。。
jczjczjcz 2003-04-14
  • 打赏
  • 举报
回复
转换函数
public static String U2C(String s)
{
String str = s;
try
{
if ( str == null ) return str;
byte[] u = str.getBytes("iso-8859-1");
return new String(u,"GB2312");
}
catch(java.io.UnsupportedEncodingException e)
{
e.printStackTrace();
return str;
}
}
lkenshin 2003-04-14
  • 打赏
  • 举报
回复
同意 container(灰乌鸦) 的做法,
不过不知道能不能帮楼主解决问题
container 2003-04-14
  • 打赏
  • 举报
回复
你在doGet的第一行加上这句就好了
request.setCharacterEncoding("gb2312");
Jass 2003-04-14
  • 打赏
  • 举报
回复
试过str1=new String(str.getBytes(),"ISO8859_1"); ?
hhuzhj 2003-04-13
  • 打赏
  • 举报
回复
8859-1,不是8859_1
Lansan 2003-04-13
  • 打赏
  • 举报
回复
郁闷
chili1979 2003-04-12
  • 打赏
  • 举报
回复
我也搞不懂,我做的是邮件接收。
用OUTLOOK接收就都能显示,但—……
zhx_232 2003-04-12
  • 打赏
  • 举报
回复
唉,对中文的支持真是java的致命伤呀!:(
Rain999 2003-04-12
  • 打赏
  • 举报
回复
一部分乱一部分不乱,那是合作不好的问题!接收的编码肯定不能是随意的,不管是java还是别的语言.
biggie 2003-04-12
  • 打赏
  • 举报
回复
帮你up吧,这个问题我虽然没遇到过,不过的确是个头痛的问题
zeng_xh 2003-04-12
  • 打赏
  • 举报
回复
学java太痛苦了 一点编程序的乐趣都没有
chili1979 2003-04-12
  • 打赏
  • 举报
回复
我也郁闷啊。

接收不同的编码,不知道怎么显示了。

如果不进行编码转换,一部分是乱码,
进行转换吧,另一部分是乱码。

不知道有没有办法在编码转换之前,先判断是何种编码。

痛苦~~~~~~~~~~~~~
Rain999 2003-04-12
  • 打赏
  • 举报
回复
试试
strl = new String(str.getBytes("US-ASCII"),"GBK");

str1=new String(str.getBytes("8859_1")); // 这个是8859_1?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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