此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【linxiangzheng】截止到2008-07-17 14:19:02的历史汇总数据(不包括此帖):
发帖的总数量:1 发帖的总分数:120 每贴平均分数:120
回帖的总数量:1 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:1 结贴的总分数:120
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
楼主【linxiangzheng】截止到2008-07-17 14:19:02的历史汇总数据(不包括此帖):
发帖的总数量:1 发帖的总分数:120 每贴平均分数:120
回帖的总数量:1 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:1 结贴的总分数:120
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
<%@ taglib prefix="spring" uri="/WebRoot/WEB-INF/spring.tld" %>
<%@ page language="java" contentType="text/html; charset=gb2312" %><html>
<head>
<title>123123</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">页面上的中文应该是没有问题的。
由于涉及机密,所以不能贴出来。这是从websphere移植到tomcat下的,
怀疑是文件编码的问题。请大家帮忙分析下。
运行一次以后,刷新项目,work就出现了jsp
编译之后的_jsp.java文件和class文件,
这时候会报错
标记上有语法错误,删除这些标记
字符串文字未用双引号正确地引起来我查了一下,这些错误应该都是由于文件编码导致的,
我怀疑是jsp文件存储编码有问题
我把eclipse-窗口-首选项-常规-内容类型-文本
将Java源文件的缺省编码改为UTF-8,
这样就没有问题了,
这可以证明jsp文件存储时按什么编码存储、
以及jsp文件编译成java文件时按什么编码编译按什么编码存储,
原来的错误跟这些有关系。还是请大家帮忙分析下,如果将Java源文件的缺省编码改回来,
应该如何设置jsp编码或者将jsp转码呢???
你是怎么默认的,tomcat的默认编码是iso8859-1
editplus,ultraedit!
或者很笨的方法,新建个文件,然后把先前的文件拷贝过来!
确实是java源文件的缺省编码问题!
tomcat一旦重启就会出现乱码。jsp页面上固定写死的中文会变成乱码,所以应该是jsp源文件字符集的问题,
我用转码工具将jsp文件全部转成GBK/GB2312的格式,运行也还是一样。好几天了,大家再费心帮帮忙啊
就说明了编码和解码不一致!
但你的情况确实怪异!
建议换个tomcat试试!
http://www.enjoyjava.net/viewthread.jsp?tid=580
<%@ taglib prefix="spring" uri="/WebRoot/WEB-INF/spring.tld" %>
<%@ page language="java" contentType="text/html; charset=gbk" %> <html>
<head>
<title>123123 </title>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
将所有的java文件和jsp文件都转成GBK/GB2312的编码格式,tomcat的server.xml中设置useBodyEncodingForURI="true",
eclipse-窗口-首选项-常规-内容类型-文本
将Java源文件的缺省编码使用默认(空),此时,清空项目的所有临时文件和中间文件。1、项目属性-文本文件编码-从容器继承(GBK)
这样设置的时候,运行之后刷新,系统提示_jsp.java文件中
“标记上有语法错误,删除这些标记”
“字符串文字未用双引号正确地引起来”
这两种错误。
2、项目属性-文本文件编码-其他(GB2312)
这样设置,运行之后刷新,上述1中的错误就没有了。不过,以上2种情况,只有第一次运行tomcat时是正确的,
一旦jsp文件被编译成java文件之后,再次启动tomcat,
页面就会出现乱码。肯定是文件编码的问题。但是应该如何设置呢???
以上我应该是将所有有关编码设置的地方都说清楚了,
请各位大侠帮忙啊!!!
为什么项目属性-文本文件编码-选择GBK和GB2312结果会不一样呢?
package com.xxxx.dao;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionServlet;public class myActionServlet extends ActionServlet {
@Override
protected void process(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException { /**@todo Override this org.apache.struts.action.ActionServlet method*/ request.setCharacterEncoding("GBK");
super.process(request, response);
}
}然后将web.xml文件里的<servlet-name>action</servlet-name>内容改成这样
<servlet-name>action</servlet-name>
<servlet-class>com.xxxx.dao.myActionServlet</servlet-class>为了保险点,在所有的JSP里的
<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>
这三句话之后再加三句
<%
response.setContentType("text/html; charset=GBK");
response.setCharacterEncoding("GBK");
request.setCharacterEncoding("GBK");
%>
解决链接与get参数传递时候中文乱码
<Connector port="8080" protocol="HTTP/1.1"
maxThread="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8">
注意添加URIEncoding="UTF-8"就可以了(注意大小写)
问题还是没有解决。我想接受zavens的建议,所有涉及编码的统一都设置为utf-8,
因此我想请教一下都有哪些地方需要设置。1、tomcat server.xml的<Connector>中加入URIEncoding="UTF-8"2、项目中的web.xml的<filter>中加入
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>3、jsp页面中加入
<%@page pageEncoding="UTF-8"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">4、eclipse-窗口-首选项-常规-内容类型-文本
将*.java、*.jsp的缺省编码改为UTF-85、项目-右键-属性-文本文件编码(从容器继承GBK)改成UTF-8以上这5个方面,不知道哪些是必须的,哪些改的不正确的,或者还有哪些遗漏,请大侠指点!!!感谢!!!
zavens老兄不是全部设置的utf8么,
给指点一下啊呵呵