ajax 利用Servlet向html传值中文问题 用servlet PrintWriter 一个xml 里面有中文 ajax 的xmlhttprequest.responseXML 读取xml文件信息是js显示的中文为乱码,请问有没有什么办法可以解决。直接点就是java类给js传值,中文乱码问题。多谢各位。虽然可以把它们都转成%12%AB可以解决,但是有些麻烦,衷心求教,多谢…… 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ps: 您的js是二进制文件么?? 我碰到过用eclipse编辑中文,页面上显示的是乱码,用ultraEdit编辑 js 就不会有这个问题。 response.setContentType("text/xml;charset=gb2312");response.setContentType("text/html;charset=gb2312"); 你的xml文件编码方式,文件保存的时候选择编码方式和输出编码方式三者要统一。有3种编码方式可参考:UTF-8、gb2312和gbk。 response.setContentType("text/xml;charset=gb2312"); response.setContentType("text/xml;charset=UTF-8"); 在页面上增加那个头部文件了么?声明字体的那部分(jsp中是<%@ page contentType="text/html, charset=gb2312"%>);html中也有类似的声明,找一下,加上后,看能否解决 xmlhttprequest.responseXML接受到的xml都是utf-8格式的 你需要转码 To:OnlyFor_love在js中应该怎么转码呢?求教,在baidu上没找到,多谢 建议全部utf-8包括数据库.jsp,htm,js,Servlet,javaBeen就不存在什么转码不转码的问题了。 怎么会不行呢?下面是在FireFox中刚刚通过的<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>rq.jsp</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <script language="javascript" type="text/javascript"> var xmlDoc; var http_request=false; function initXMLHttp() { if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert("您需要升级您的浏览器!"); return false; } } function yourfunction(){ initXMLHttp(); http_request.open("get", "rs2.jsp", false); http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); http_request.send(null); xmlDoc=http_request.responseXML; var data=xmlDoc.getElementsByTagName("node1"); document.getElementById("div1").innerHTML=data[0].firstChild.nodeValue; } </script> </head> <body> <input type="button" onclick="yourfunction()" name="button" value="Click me"> <div id="div1"></div> </body></html>----------------------------------<%@ page language="java" pageEncoding="gb2312"%><% response.setHeader("pragma","no-cache"); response.setHeader("cache-control","no-cache"); response.setHeader("expires","0"); response.setHeader("content-type","text/xml;charset=gb2312"); out.println("<docroot><node1>中国</node1></docroot>");%> 第二个文件改一下,IE和FF都可以了<%@ page language="java" pageEncoding="gb2312"%><%response.setHeader("pragma","no-cache");response.setHeader("cache-control","no-cache");response.setHeader("expires","0");response.setHeader("content-type","text/xml;charset=gb2312");out.println("<?xml version=\"1.0\" encoding=\"GB2312\"?>");out.println("<docroot><node1>中国</node1></docroot>");%> 我用servlet写的 response xml就是乱码 嗷嗷郁闷,结贴,继续研究中…… <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>rq.jsp</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><script language="javascript" type="text/javascript">var xmlDoc;var http_request=false;function initXMLHttp() {if (window.XMLHttpRequest) { // Mozilla, Safari,...http_request = new XMLHttpRequest();if (http_request.overrideMimeType) {http_request.overrideMimeType('text/xml');}} else if (window.ActiveXObject) { // IEtry {http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {}}}if (!http_request) {alert("您需要升级您的浏览器!");return false;}}function yourfunction(){initXMLHttp();http_request.open("get", "http://localhost:7001/demo/jugpersonSelectedAction.do?d=1", false);http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");http_request.send(null);xmlDoc=http_request.responseXML;alert(xmlDoc);var data=xmlDoc.getElementsByTagName("node1");document.getElementById("div1").innerHTML=data[0].firstChild.nodeValue;}</script></head><body><input type="button" onclick="yourfunction()" name="button" value="Click me"><div id="div1"></div></body></html>我把rs2.jsp换成servlet为什么取不到返回值哦。。大家帮忙public class jugpersonSelectedAction extends Action{ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { String forward = "success"; response.setHeader("pragma","no-cache"); response.setHeader("cache-control","no-cache"); response.setHeader("expires","0"); response.setHeader("content-type","text/xml;charset=gb2312"); System.out.println("<?xml version=\"1.0\" encoding=\"GB2312\"?>"); System.out.println("<docroot><node1>中国</node1></docroot>"); return actionMapping.findForward(forward); } 问一个关于重写hashCode()方法的问题 正则表达式截取字符串。 新手的郁闷,请前辈指教:到底怎样配置Java的运行环境 如何列举一个包中的所有类 如何连接两个语言之间的通信 如何做类似与Jbuilder用户界面的界面,急。 CropImageFilter怎么用? ★★★请问大家现在作项目使用什么【数据库访问类】,自己写的还是用第三方提供的?★★★ 怎样在linux上用rpm包安装jre? 如何成为优秀的程序员 请问怎么在界面中嵌入播放器? jni如何把jcharArray轉成char[],請給源代碼?(
我碰到过用eclipse编辑中文,页面上显示的是乱码,用ultraEdit编辑 js 就不会有这个问题。
response.setContentType("text/html;charset=gb2312");
html中也有类似的声明,找一下,加上后,看能否解决
在js中应该怎么转码呢?求教,在baidu上没找到,多谢
包括数据库.jsp,htm,js,Servlet,javaBeen就不存在什么转码不转码的问题了。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>rq.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<script language="javascript" type="text/javascript">
var xmlDoc;
var http_request=false;
function initXMLHttp() {
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert("您需要升级您的浏览器!");
return false;
}
}
function yourfunction(){
initXMLHttp();
http_request.open("get", "rs2.jsp", false);
http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
http_request.send(null);
xmlDoc=http_request.responseXML;
var data=xmlDoc.getElementsByTagName("node1");
document.getElementById("div1").innerHTML=data[0].firstChild.nodeValue;
}
</script>
</head> <body>
<input type="button" onclick="yourfunction()" name="button" value="Click me">
<div id="div1"></div>
</body>
</html>
----------------------------------<%@ page language="java" pageEncoding="gb2312"%>
<%
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
response.setHeader("expires","0");
response.setHeader("content-type","text/xml;charset=gb2312");
out.println("<docroot><node1>中国</node1></docroot>");
%>
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
response.setHeader("expires","0");
response.setHeader("content-type","text/xml;charset=gb2312");
out.println("<?xml version=\"1.0\" encoding=\"GB2312\"?>");
out.println("<docroot><node1>中国</node1></docroot>");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>rq.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<script language="javascript" type="text/javascript">
var xmlDoc;
var http_request=false;function initXMLHttp() {
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert("您需要升级您的浏览器!");
return false;
}
}function yourfunction(){
initXMLHttp();
http_request.open("get", "http://localhost:7001/demo/jugpersonSelectedAction.do?d=1", false);
http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
http_request.send(null);
xmlDoc=http_request.responseXML;
alert(xmlDoc);
var data=xmlDoc.getElementsByTagName("node1");
document.getElementById("div1").innerHTML=data[0].firstChild.nodeValue;
}
</script>
</head><body>
<input type="button" onclick="yourfunction()" name="button" value="Click me">
<div id="div1"></div>
</body>
</html>我把rs2.jsp换成servlet为什么取不到返回值哦。。
大家帮忙public class jugpersonSelectedAction extends Action
{
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) throws Exception
{
String forward = "success";
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
response.setHeader("expires","0");
response.setHeader("content-type","text/xml;charset=gb2312");
System.out.println("<?xml version=\"1.0\" encoding=\"GB2312\"?>");
System.out.println("<docroot><node1>中国</node1></docroot>"); return actionMapping.findForward(forward); }