表单输入、直接给值查入的字符集的问题
同样代码,我用表单输入,中问正常显示,
直接给值时,出现乱码也就是??号,
我想是这也是中文问的一种,与文件编码有关,
不过我不管怎么改字符集都是不可以的。
后来要急着回家,就没有查,看来这两天该上网查一下了。

------

回复此文章 |

看来应该测试一下,
1,直接通过文件显示。
2,不通过表单直接显示,不插入数据库。
3,不通过表单直接给值,
4,通过表单传递插入数据库,
看看编码那儿出问题了。
------

回复此文章 |
<%@page contentType="text/html;charset=gb2312" %>

<%@ include file=
"inc.jsp" %>
<%
String name=new String(
"haohao");
String msgs=new String(
"好好");
//String name = request.getParameter("name");
//String msgs = request.getParameter("msgs");
msgs = new String(msgs.getBytes(
"gb2312"),"ISO-8859-1");
boolean go;
sql=
"insert into haohao_test(name,msgs) values ('"+name+"','"+msgs+"')";
out.println(sql);
go = apple.insert(sql);
if(go)
out.print(
"ok");
else out.println(
"Failed.");

apple. closeConn();
%>

我是直接把要插入的数据的gb2312转化成88591插入mysql数据库的
然后把从数据库中的88591转化成gb2312显示的。
那么表单的的编码设置成
------

回复此文章 |
<%@page contentType=
"text/html; charset=gb2312" %>

<%
String name = request.getParameter(
"name");
String msgs = request.getParameter(
"msgs");
msgs = new String(msgs.getBytes(
"ISO-8859-1"),"GB2312");
out.println(name);
out.println(msgs);
%>

表单页面的字符集也是设置成gb2312
也是可以显示中文的,可以得出表单传递的字符集是88591
下来该测试mysql数据库的字符集体了。

hofman   2005-11-19 22:21:50 评论:0   阅读:1261   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

Copyright@2004-2010 powered by YuLog