乱码问题 散分

jokerjava 2002-12-17 06:26:56
日文win2000
jb7
日文oracle
String tmp = request.getParameter("tmp ");
tmp = new String(tmp .getBytes("ISO8859_1"),"gb2312");

out.println(tmp);
可正确显示中文

我把tmp存到数据库
然后再取出来

显示为乱码 不知为什么
<meta http-equiv=\"content-type\" content=\"text/html; charset=gb2312\">
已经写了

顺便散散分
我想散500分
怎么上限才100

...全文
30 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zl_215 2002-12-18
  • 打赏
  • 举报
回复
接分
谢谢
netstarry 2002-12-17
  • 打赏
  • 举报
回复
标准SQL的二进制字段类型是BINARY,VARBINARY,LONGVARBINARY,

不过也可能不一样,比如mysql中的就是blob,longblob
heipifeng 2002-12-17
  • 打赏
  • 举报
回复
我接
xiaoyebing 2002-12-17
  • 打赏
  • 举报
回复
情况一:
JSP 文件中的中文提示信息不能正确显示
解决方法:在JSP 文件中加入 <%@ page contentType="text/html; charset=GBK" %> 可以解决这个问题

情况二:
从数据库中检索出来的中文显示不正确时,在这种情况下,如果数据库使用的是中文字符集,并使用的是Type 2 Jdbc Driver时,对于Weblogic 而言,当使用其提供的oci driver时,在设置连接池的propteries时可加入Weblogic.codeset=GBK的属性可解决这个问题 Thin driver 不需要做任何设置   

情况三:
在JSP文件之间传递中文时,如果不能正确传递中文数据,可在web.xml文件中加入 <context-param> <param-name>weblogic.httpd.inputCharset./*</param-name> <param-value>GBK</param-value> </context-param> 可解决这个问题。   

情况四:
为使浏览器能正确显示中文,应在 HTML HEAD 部分增加: <meta http-equiv="Content-Type" content="text/html" charset="gbk">
希偌 2002-12-17
  • 打赏
  • 举报
回复
jiefen
戚爱斌 2002-12-17
  • 打赏
  • 举报
回复
UP
alfxiao 2002-12-17
  • 打赏
  • 举报
回复
jokerjava 2002-12-17
  • 打赏
  • 举报
回复
为什么一定要用日文的呢?
冷血一面盯着xiaofenguser(风雨) 奸笑
一边嘿嘿的说到
老板要

netstarry(星光) ( ) 的方案我想试着
不过没查到oracle byte 的字段类型
说来惭愧
netstarry 2002-12-17
  • 打赏
  • 举报
回复
顺便说一句win2000不分什么中文日文,改一下你的区域设置,中文版win2000也能变成日文的,日文的win2000同理
xiaofenguser 2002-12-17
  • 打赏
  • 举报
回复
为什么一定要用日文的呢?
hoxisoft 2002-12-17
  • 打赏
  • 举报
回复
接分
hotenM 2002-12-17
  • 打赏
  • 举报
回复
接分!
netstarry 2002-12-17
  • 打赏
  • 举报
回复
我想要分,从驱动程序的设置上面解决问题才是关键!或许这也是java使用unicode的一个弊端,还有一个方法,就是你把字段设置为二进制类型然后用String.getbytes("GBK")化为byte[]数组,然后存入数据库,这样保存到数据库中的编码一定是GBK编码,取的时候先读取二进制byte[],然后
String(byteIn,"GBK");就行了
jokerjava 2002-12-17
  • 打赏
  • 举报
回复
response.setContentType("text/html; charset=gb2312");
String tmp = request.getParameter("tmp");
却省应该是iso8859_1格式
???直接存入oracle数据库???
如果上成立
???从数据库中取数据为iso8859_1格式???
转化成tmp = new String(tmp.getBytes("ISO8859_1"),"gb2312");
输出
<%@ page language="java" contentType="text/html; charset=gb2312" %>
或者
<meta http-equiv="content-type" content="text/html;charset=gb2312">
out.println(tmp);

乱码

我觉得这两句
<%@ page language="java" contentType="text/html; charset=gb2312" %>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
没什么区别吧
都是设字符集
我也已经试过了
不行 一堆的问号
sunni 2002-12-17
  • 打赏
  • 举报
回复
对 可是我不知道是为什么
study_body 2002-12-17
  • 打赏
  • 举报
回复
<%@ page language="java" contentType="text/html; charset=gb2312" %>
将<meta http-equiv=\"content-type\" content=\"text/html; charset=gb2312\">
删除
才钦 2002-12-17
  • 打赏
  • 举报
回复
是不是ORACLE字符集的问题

62,629

社区成员

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

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