站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题最近发现jsp中文编码学得有点乱,希望各位能指点一下

最近发现jsp中文编码学得有点乱,希望各位能指点一下

摘要: 最近发现jsp中文编码学得有点乱,希望各位能指点一下


<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*" errorPage="" %>

<head>
无标题文档
</head>

<body>
中文中文
</body>


按道理说UTF8是支持中文的,为什么当我打开这个网页全都是乱码????
<%@ page contentType="text/html; charset=gb2312" language="java" %>

<head>
无标题文档
</head>

<body>
<form name="form1" method="post" action="">
<input type="text" name="ok">
<input type="submit" name="Submit" value="提交">
</form>

<%
String str = request.getParameter("ok");

if(str == null) {
str = "";
}
String str1 = new String(str.getBytes("GBK"));
%>
<%=str1%>
</body>


我的系统是windows2000支持GBK
这里,我用GBK,和UTF-8都不行只能用ISO-8859-1,为什么阿?
还有String str1 = new String(str.getBytes(),"ISO-8859");
用这个构造器,竟然不起作用?


参考
http://bbs.gzit.org/viewthread.php?tid=184


这个试试
<%@page pageEncoding="GBK" contentType="text/html; charset=GBK" %>


<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*" errorPage="" %>


<%@ page contentTpe="text/html; charset=gb2312" language="java" %>

这两个编码都不一样



其实个人认为写一个中文过滤器就好了,不用每个页面都去改



<%@page pageEncoding="GBK" contentType="text/html; charset=GBK" %>这个不行,刚试了
刚忘了说我是tomcat5的

String str1 = new String(str.getBytes(),"ISO-8859");
这个构造器,用不成这是怎么回事?


再试试这个<%request.setCharacterEncoding("GBK"); %>


还是不行


到底是哪里乱码??页面还是连控制台,数据库都是乱码


编码方式指定一下,一般的话用UTF-8(国际化),还有就是设置一下你的应用服务器连接池的characterEncoding和8080端口的URIEncoding,最好是自己再加一个Filter



我试过charset=GBK
然后再加上String str1 = new String(str.getBytes(),"GBK");
str1的显示就没有问题了,如果写入到文件则要
FileOutputStream os.write(lsSQL.getBytes("GBK"));



我的tomcat端口URIEncoding还是UTF8,但无影响。


【上海腾舟卖场】为回报新老客户,笔记本配件限量大特卖,欢迎来电咨询:021-34240201
★ IT市场鱼龙混杂,产品质量层次不齐, 网络购物更要注意 , 腾舟大卖场 在易趣已经经营了7年,是老字号的视信誉为生命的大型网络超市,在 徐家汇 中心商圈,在全国几大城市,全球数个国家都有办事处,绝不会出现要保修的时候人走楼空的情况 请相信腾舟的信誉,三十余名高素质的腾舟员工将竭诚为您服务 。

★我们出售的东东每个都是 全新产品!!!

笔记本配件:笔记本 内存. 硬盘,光驱,电源,电池,键盘,笔记本包。
商品链接地址:
http://stores.ebay.com.cn/shanghaiship
上海客户可直接到徐家汇太平洋一期6楼F-1看货。电话:021-34240201  34240385

联系人:徐小姐 QQ:376882018 
★MSN: mailto:xiao8yao4_xu@hotmail.com
SONY、IBM、DELL、HP上海笔记本潮流推广中。。。。。。。。



晕,为什么我不行?????

到底是哪里乱码??页面还是连控制台,数据库都是乱码

页面,

我只是想试一下编码,没想到出了这么大乱子,我的只能ISO-8859-1别的都是乱码
不知道是不是和tomcat的版本有关


eeeee,各位谢了,我今天查到资料了,然后总结了一下

由于jsp/servlet默认输出到客户端是ISO-8859-1
String str1 = new String(str.getBytes(),"ISO-8859");
而这个方法是先让str(ISO-8859-1)以GBK编码(system默认)然后又解码成iso-8859-1
所以有乱码,
page contentType="text/html; charset=gb2312
而这个试网页输出,和str的处理无关,所以不管改成什么jsp/servlet默认输出str依旧是iso-8859-1编码
不只我的解释是否正确,


不管对错,好了先给分了


↑返回目录
前一篇: 这样写,为什么不能新开窗口?帮忙看看
后一篇: JDK安装后,设置环境变量有什么用?