社区
Web 开发
帖子详情
又是乱码
xuexijava
2010-03-29 01:58:20
最近做了个项目
使用了过滤器数据库和页面编码都是UTF-8,在本机上跑的时候表单不出现乱码
现在传到空间里跑的时候表单提交乱码。。。。
何解?
...全文
177
13
打赏
收藏
又是乱码
最近做了个项目 使用了过滤器数据库和页面编码都是UTF-8,在本机上跑的时候表单不出现乱码 现在传到空间里跑的时候表单提交乱码。。。。 何解?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuexijava
2010-03-30
打赏
举报
回复
[Quote=引用 11 楼 xiaoxi29 的回复:]
修改服务器编码,不知道具体情况啊!但我就大胆猜想一下,如果是post请求的话,只要保证jsp servlet 数据库都是同样的编码就OK了,但如是get请求的话就还需要修改服务器编码了,tomcat中式这样修改的:找到tomcat/conf 文件夹下的server.xml 文件,打开,找到下面这一行
<Connector port="8080"
maxThreads="150"
conn……
[/Quote]
这个我设置过了还是乱码,不过还是谢谢大家的回答。。。
结贴
smi_ling
2010-03-29
打赏
举报
回复
接分了!
xiaoxi29
2010-03-29
打赏
举报
回复
修改服务器编码,不知道具体情况啊!但我就大胆猜想一下,如果是post请求的话,只要保证jsp servlet 数据库都是同样的编码就OK了,但如是get请求的话就还需要修改服务器编码了,tomcat中式这样修改的:找到tomcat/conf 文件夹下的server.xml 文件,打开,找到下面这一行
<Connector port="8080"
maxThreads="150"
connectionTimeout="20000"
redirectPort="8443" />
加上一个属性 URIEncoding="UTF-8"
即
<Connector port="8080"
maxThreads="150"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
不是到是不是这个问题,试试看吧,哈
xuexijava
2010-03-29
打赏
举报
回复
[Quote=引用 9 楼 privatemiao 的回复:]
为什么总是看到有人特地用过滤器来解决乱码的问题。
在 jsp servlet 数据库 都保证是 utf-8 的就行了
[/Quote]
现在是统一了还乱
有点晕
谁遇到过这种情况
另说明下
在导入SQL文件后,更改数据库编码为UTF_bin
这个和页面的UTF-8难道不对应吗?
环境是Tomcat6.0+Mysql5.0
privatemiao
2010-03-29
打赏
举报
回复
为什么总是看到有人特地用过滤器来解决乱码的问题。
在 jsp servlet 数据库 都保证是 utf-8 的就行了
sl514
2010-03-29
打赏
举报
回复
空间服务器的编码呢
xuexijava
2010-03-29
打赏
举报
回复
longtenggdf
2010-03-29
打赏
举报
回复
地球人还没有彻底解决乱码问题吗?
xuexijava
2010-03-29
打赏
举报
回复
数据库编码用的是UTF8
每个Jsp页面都用了
<%@ page language="java" import="java.util.*,gg.com.domain.*;" pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
xuexijava
2010-03-29
打赏
举报
回复
web.xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>SetCharsetEncodingFilter</filter-name>
<filter-class>gg.com.util.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter>
<filter-name>CloseSessionFilter</filter-name>
<filter-class>gg.com.util.CloseSessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SetCharsetEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CloseSessionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
xuexijava
2010-03-29
打赏
举报
回复
贴代码:
过滤器代码:
public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null)
request.setCharacterEncoding(encoding);
}
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if (value == null)
this.ignore = true;
else if (value.equalsIgnoreCase("true"))
this.ignore = true;
else if (value.equalsIgnoreCase("yes"))
this.ignore = true;
else
this.ignore = false;
}
protected String selectEncoding(ServletRequest request) {
return (this.encoding);
}
}
xuhesheng
2010-03-29
打赏
举报
回复
给服务器也加上编码
你在自己机子上试验的时候肯定没使用中文
Ajax也肯定检测不出来中文同名的吧
star19860411
2010-03-29
打赏
举报
回复
空间?什么空间啊?
乱码
问题总结:常见的中文
乱码
问题
本文详细介绍了中文
乱码
的原理,包括字符集、编码方案(ASCII、UTF-8、GBK)的区别,以及
乱码
产生的原因,如错误的编码识别和多次编码转换。还提供了在实际应用中如WindowsTomcat、Servlet、cmd、webservice接口和IDEA中解决
乱码
问题的方法。
【IntelliJ IDEA】中文
乱码
问题 ( 代码
乱码
| 编译
乱码
| 控制台
乱码
)
本文详细解析了在IntelliJ IDEA中开发Java程序时可能遇到的三种中文
乱码
问题:代码
乱码
、编译
乱码
及控制台
乱码
,并提供了具体的解决步骤,包括设置项目编码为UTF-8,调整编译选项,以及修改IDEA的VM选项。
对中文
乱码
的理解,遇到
乱码
该怎么办。
作者在使用qtcreator编译MSVC工程时遇到
乱码
问题,经研究整理经验。常见中文编码为UTF8和GBK,
乱码
多因两者解析错误。可根据
乱码
特征分析原因,还介绍了通用排查方法,即检查字符源头到终点各工具的编码格式。
分析
乱码
产生的原因及常见
乱码
的解决方法
本文深入探讨了编码原理,包括ASCII、UTF-8、UTF-16等多种编码格式,分析了
乱码
产生的根本原因,并提供了
乱码
恢复的方法。理解编码转换机制对于避免和解决
乱码
问题至关重要。
乱码
、
乱码
产生原因
博客聚焦文字
乱码
问题,介绍了
乱码
产生的原因,包括编码不一致、字符集不支持、传输编码转换错误、软件或系统默认编码设置不当、文件损坏或格式错误。还讲解了字符、字符集合等基础知识,以及常见字符编码如UTF - 8、GBK等及其使用场景。
Web 开发
81,111
社区成员
341,727
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章