老土的问题:从数据库取中文显示的问题
数据库:sqlserver2000
表:
--------------------------------------------
CREATE TABLE charge_rate (
id] int NOT NULL ,
vehicle_style varchar (1) NULL ,
charge_station1_code varchar (10) NULL ,
charge_station2_code varchar (10) NULL ,
charge_rate decimal(8, 2) NULL ,
PRIMARY KEY id
)
)
问题:
JSP 添加记录时添加成功,汉字也能写到相应varchar字段中
但是在列表中显示时显示乱码:而且数据库中的数据原来好好的中文也会显示乱码,
高手帮忙啊,以下为我写的代码:
-------------------------------------------
提交add_submit.jsp:
request.setCharacterEncoding("GB2312"); //设定接受字符串采用GB2312编码
String charge_station1_code = request.getParameter("station1").trim();
String charge_station2_code = request.getParameter("station2").trim();
String vehicle_style = request.getParameter("vehicle_style").trim();
直接提交数据库
......
显示记录list.jsp
<%@ page contentType="text/html; charset=GB2312" %>
.....
//取数据
<td><%=new String(Ro.getcharge_station1_code().getBytes("GB2312"))%> </td>
<td><%=new String(Ro.getcharge_station2_code().getBytes("GB2312"))%> </td>
<td><%=new String(Ro.getvehicle_style().getBytes("GB2312"))%> </td>
<td><%=Ro.getcharge_rate()%> </td>
显示乱码,而且数据库的数据会跟着变成乱码(表我是打开的,刷新一下就能看到)
Ro.getcharge_station1_code()
Ro.getcharge_station2_code()
Ro.getvehicle_style()
返回的是个String,在java EjB中没有处理,直接从数据库中取出的