java 输出乱码的问题

通过获取网页的指定数据,返回给调用者,结果输出是乱码。网页的中文编码是<metahttp-equiv="Content-Type"content="text/html;c... 通过获取网页的指定数据,返回给调用者,结果输出是乱码。网页的中文编码是<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> ,该怎样才能输出中文呢?请知道的朋友帮帮忙,谢谢! 展开
 我来答
百度网友eeb039bb2
2011-11-29
知道答主
回答量:35
采纳率:0%
帮助的人:22.2万
展开全部
一:
页面(jsp页面)设置:
<%@ page language="java" contentType="text/html; charset=GBK"%> <!--写在最顶端-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
二:
后台设置:
1:
response.setContentType("text/html;charset=GBK");
request.setCharacterEncoding("GBK"); //设置request对象解码是的编码.只针对POST请求 有用,get请求无效
2:
如果是表单提交:
URLDecoder.decode(str,"GBK");//读取时进行编码
URLEncoder.encode(str,"GBK");//按指定编码输出str;

如果jsp页面设置编码为GBK时,则对获取的request对象进行转码. 如果还是没用,则用URLDecoder或URLEncoder进行强转.
更多追问追答
追问
可能大家都误会啦,我没有做这个网页,这个网页,我只是在百度上随便打开的,然后只是去获取它里面的数据而已。
追答
那用这个
String name=new String("网页上获取的数据".getByte("ISO-8859-1"));
看看是不是乱码.
别耍小姐脾气
2011-11-29 · TA获得超过649个赞
知道答主
回答量:47
采纳率:0%
帮助的人:37.3万
展开全部
如果返回到前台的数据乱码,一般情况下是后台数据已经乱码
如果说是前台数据返回给后台乱码,最简单的解决方法,
转型: String name=new String(request.getParameter("name").getByte("ISO-8859-1"));
更多追问追答
追问
我这里没有什么后台的,我只是通过正则表达式,去匹配网页上的指定数据,返回给调用者。
追答
java 正则表达式 ?JS正则表达式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stlr2008
2011-11-29 · TA获得超过500个赞
知道小有建树答主
回答量:568
采纳率:0%
帮助的人:392万
展开全部
<%
request.setCharacterEncoding("gb2312");
response.setCharacterEncoding("gb2312");
%>
都加上这个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
智文彦rc
2011-11-29 · 超过11用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:36.7万
展开全部
你主要查查,后台的编码格式也是gb2312 ? 后台取到的数据是不是就是乱码?
追问
怎么查看后台的编码? 我这是在网上随便找个网页,然后获取出来的数据,该怎么查看呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式