提交数据中文乱码 乱码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 转码一下,String name = new String(request.getParameter("username").getBytes("ISO-8859-1"),"UTF-8"); 网上也有很多种,同样处理乱码形式的种类也很多,建议LZ先到网上找答案 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 这样写不是 get 方式提交的转码方式吗,对 post 不适用吧, 我的是 post 方式提交的网上查了,但是找到的答案不行 public class CharactorFilter implements Filter { //获取字符编码 String encoding=null; public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if(encoding!=null){ request.setCharacterEncoding(encoding); response.setContentType("text/html;charset="+encoding); } chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { encoding=filterConfig.getInitParameter("encoding"); } public void destroy() { encoding=null; }}web.xml中过滤器的配置<filter> <filter-name>CharactorFilter</filter-name> <filter-class>cn.com.Filter.CharactorFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharactorFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>还有就是你用的容器编码设置为,最好都统一一下,如果是Tomcat,你看看Tomcat下的编码是不是一致的? 这样加过滤也不行,还是乱码。Tomcat 中是默认配置,不想通过改 Tomcat 配置来解决 jsp的文件编码为GBK,该成UTF-8即可。 该怎么改?其实我从数据库中读出来显示在 jsp 页面的内容中文是没有乱码的 前端ajax post方式提交后台取值debug 该怎么改?其实我从数据库中读出来显示在 jsp 页面的内容中文是没有乱码的出乱码,应该是你控制台里出的乱码吧。吧项目的编码设成UTF-8就可以了。。 看看你页面最上面创建的是什么编码格式如果不是UTF-8可以加上或者后台接收参数时进行编码格式转换String value = new String (request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");如果以上都解决不了的话 可能是数据库编码设置问题MYSQL一般会出现这样的问题 可以用以下方法查看编码格式其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;character_set_results结果集的编码;character_set_server数据库服务器的编码;只要保证以上四个采用的编码方式一样,就不会出现乱码问题。 1.tomcat 服务器设置的编码 只对 get请求有效2.post请求是正文提交,只需要设置request .setCharacterEncoding即可,但是这样很麻烦一般会用过滤器去做(常用的spring的 字符集过滤器)3.上面两种可以解决大多数的乱码问题,但是如果你用了struts等MVC框架,请检查 对应的struts.properties里面配置的编码,如果经过框架处理已经转换成了不匹配的编码,后面无论怎么转换都是乱码。 求指教:写一个函数将一个整数反转 如何实现word文档下载(在线等) java 框架学习 欢迎老鸟 高手加入QQ群号(95010511) AJAX和服务器的问题~ 此struts标签如何写... 我用resin,jboss,tomcat+mysql服务器运行网站遇到的问题! 简单的WEB注册程序数据保存问题(SSH)求教高手 spring+dwr整合的问题 如何最安全的获取文件的后缀? java的这些东西,还是有劳各位了,谢谢! j2ee中如何在地址中访问数据库呢? 数据库取值动态插入WORD文档.
网上查了,但是找到的答案不行
public class CharactorFilter implements Filter {
//获取字符编码
String encoding=null; public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(encoding!=null){
request.setCharacterEncoding(encoding);
response.setContentType("text/html;charset="+encoding);
}
chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException {
encoding=filterConfig.getInitParameter("encoding"); } public void destroy() {
encoding=null;
}}
web.xml中过滤器的配置<filter>
<filter-name>CharactorFilter</filter-name>
<filter-class>cn.com.Filter.CharactorFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharactorFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>还有就是你用的容器编码设置为,最好都统一一下,如果是Tomcat,你看看Tomcat下的编码是不是一致的?
这样加过滤也不行,还是乱码。Tomcat 中是默认配置,不想通过改 Tomcat 配置来解决
该怎么改?
其实我从数据库中读出来显示在 jsp 页面的内容中文是没有乱码的
该怎么改?
其实我从数据库中读出来显示在 jsp 页面的内容中文是没有乱码的
出乱码,应该是你控制台里出的乱码吧。吧项目的编码设成UTF-8就可以了。。
或者后台接收参数时进行编码格式转换
String value = new String (request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
如果以上都解决不了的话 可能是数据库编码设置问题
MYSQL一般会出现这样的问题 可以用以下方法查看编码格式其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。