JSp连接数据库 乱码

tshow 2004-08-26 07:03:30
具体情况如下:
服务器:中标普华linux server+oracle9i+tomcat3.3.1
如果客户端为windows平台,IE,访问没有问题,但是输入页面的数据保存后在数据库出现乱码,用jsp读取出来也为乱码,而且出现的次数不固定,偶尔会出现正常显示,乱不乱码似乎靠运气!!
如果客户端为linux平台,Mozilla,没有任何问题
oracle 字符集US7ASCII

解决了高分相送,由于中途维护一个项目,这问题折腾几天了,急!!
...全文
107 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zonelive 2004-08-27
  • 打赏
  • 举报
回复
可以编辑一个函数,再INSERT地时转化
zonelive 2004-08-27
  • 打赏
  • 举报
回复
up
yujiabian 2004-08-27
  • 打赏
  • 举报
回复
--写入数据库
<%!String native2Unicode(String s)
{
if (s == null || s.length() == 0)
{
return null;
}
byte[] buffer = new byte[s.length()];
for (int i = 0; i < s.length(); i++)
{
buffer[i] = (byte)s.charAt(i);
}
return new String(buffer);
}
%>
--读取数据库
<%!String unicode2Native(String s)
{
if (s == null || s.length() == 0) {
return null;
}
char[] buffer = new char[s.length() * 2];
char c;
int j = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) >= 0x100) {
c = s.charAt(i);
byte []buf = (""+c).getBytes();
buffer[j++] = (char)buf[0];
buffer[j++] = (char)buf[1];
}
else {
buffer[j++] = s.charAt(i);
}
}
return new String(buffer, 0, j);
}
%>
用上面的两个函数
SaviourJLF 2004-08-27
  • 打赏
  • 举报
回复
jsp页面在提交之后,会将提交的内容转为8859-1的编码。在提交的目标页面里必须做相应的编码转换,否则不能得到正确结果。

searchKeys=%C2%D2%C2%EB,至于这样编码是用URLEncoder.encode出来的,如果提交页和被提交页的charset一致直接decode出来就可以了。

以上。不足之处请指教
tshow 2004-08-26
  • 打赏
  • 举报
回复
哈,哎呀,早搜过了,解决不了,找到对应的解决方法
txlicenhe 2004-08-26
  • 打赏
  • 举报
回复
在java版搜索"乱码"

http://community.csdn.net/Expert/ForumList_Search.asp?searchtype=2&bigclassid=54&smallclassid=5401&searchKeys=%C2%D2%C2%EB&author=&tabletype=now&Submit2=%B6%D4%D1%A1%D4%F1%B5%C4%D0%A1%C0%E0%BD%F8%D0%D0%CB%D1%CB%F7

17,377

社区成员

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

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