当前位置: 技术问答>java相关
JSP中文存储问题!(高分求教)
来源: 互联网 发布时间:2015-04-27
本文导语: 本人用JSP写一网站,Web服务器是Linux+JRun,数据库服务器是Oracle,它们(Web服务器和Oracle)同在一台计算机上。 首先,我在一JSP页面中定义了一个: name,编辑框。 通过提交后,在另一页面处理...
本人用JSP写一网站,Web服务器是Linux+JRun,数据库服务器是Oracle,它们(Web服务器和Oracle)同在一台计算机上。
首先,我在一JSP页面中定义了一个:
name,编辑框。
通过提交后,在另一页面处理数据库存储:获得参数值,
String namess=new String((request.getParameter("name")).getBytes
("ISO8859-1"));
然后写入数据库!
如果在name中输入英文,存储到Oracle没问题,但在name中输入中文,存储到Oracle成了"???"!
这是什么原因呢?
后来,将上面:改成
String namess=request.getParameter("name");
结果是一样的!
这是什么原有?
首先,我在一JSP页面中定义了一个:
name,编辑框。
通过提交后,在另一页面处理数据库存储:获得参数值,
String namess=new String((request.getParameter("name")).getBytes
("ISO8859-1"));
然后写入数据库!
如果在name中输入英文,存储到Oracle没问题,但在name中输入中文,存储到Oracle成了"???"!
这是什么原因呢?
后来,将上面:改成
String namess=request.getParameter("name");
结果是一样的!
这是什么原有?
|
String namess=new String((request.getParameter("name")).getBytes
("UTF8"));
试试
我估计你的数据库的字符串编码是UTF8的
("UTF8"));
试试
我估计你的数据库的字符串编码是UTF8的
|
String namess=new String((request.getParameter("name")).getBytes
("gb2312"));
试试看
("gb2312"));
试试看
|
对了
应该还有一步
String namess=new String((request.getParameter("name")).getBytes
("UTF8"),"ISO-8859-1");
或者
String namess=new String((request.getParameter("name")).getBytes
("GB2312"),"ISO-8859-1");
或者
String namess=new String((request.getParameter("name")).getBytes
("GBK"),"ISO-8859-1");
你再试试看
应该还有一步
String namess=new String((request.getParameter("name")).getBytes
("UTF8"),"ISO-8859-1");
或者
String namess=new String((request.getParameter("name")).getBytes
("GB2312"),"ISO-8859-1");
或者
String namess=new String((request.getParameter("name")).getBytes
("GBK"),"ISO-8859-1");
你再试试看