在java开发中,如果编码配置不统一,很容易出现中文乱码的情况,这里就记录下自己遇到的调用req.getParameter方法出现中文乱码,并解决这一情况的方法 注意修改以下几个地方 1.jsp页面中的编码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2.连接数据库时配置的编码 jdbc:mysql://localhost:3306/good…
今天浏览项目时候,遇到一个问题,页面用${requestScope.参数名 }获取的值是乱码,然后搜了一下,最后说是编码的问题,附上查找的结果: 在Java 开发中,如果框架搭建的不完善或者初学者在学习过程中,出现中文乱码是经常的事儿(哈.谁让发明java语言的不是中国人呢) 今天跟大家分享几个解决java Web开发中,request.getParameter()获取URL中文参数乱码的解决办法 解决问题,先要研究问题,URL传中文参数为什么会出现乱码? 原因:Http请求传输时将url以IS…
问题描述: 登陆PL/SQL,执行SQL语句后,输出的中文标题显示成问号????:条件包含中文,则无数据.         如果不是中文,需要修改注册表值,方法如下: 进入注册表:Win+r,输入regedit后回车,依次单击HKEY_LOCAL_MACHINE --->SOFTWARE ---> ORACLE--->home(笔者安装的是Oracle 10g,这里显示成KEY_OraDb10g_home1),找到NLS_LANG(如果没有就新建),查看数值数据是否为:SIMPLIFIE…
在my.ini文件中找到[client]和[mysqld]字段,在下面均加上default-character-set=utf8,保存并关闭,重启服务器 在window下重启失败,这是因为你安装了高版本的mysql(mysql5.5以上),在高版本对字符编码方式修改的办法中,在[mysqld]下的修改发生了变化,正确方式如下: [mysqld]下添加的应该为: character-set-server=utf8 collation-server=utf8_general_ci…
注意:现在已不推荐 escape 函数,推荐使用  encodeURIComponent 函数,其中方法更简单,只需进行URL解码即可. 当然了,如下文章解决方案一样可行. 前几天用Python的Bottle框架写个小web程序,在进行Ajax交互之时,前端则先用 JSON.stringify 来将类序列化,然后用escape() 函数将其编码,确保传输正确. 再基本上配合上Jquery的$.ajax应该就可以了,可能是经验不足,即使编码之后的数据依然在 Python 中难以处理. 后来慢慢思考…
找到tomcat配置文件 server.xml 找到<Connector port="8080" .......  />   (......为配置文件中原来内容) 在最后加上一句:  URIEncoding=GBK  如下: <Connector port="8080" ......  URIEncoding=GBK />…
修改tomcat配置文件 设置url编码集 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444" useBodyEncodingForURI="true" URIEncoding="UTF-8"/>…
一 安装语言包 中文语言包: language-pack-zh-hans 简体中文 language-pack-zh-hans-base language-pack-zh-hant 繁体中文 language-pack-zh-hant-base   gnome界面 language-pack-gnome-zh-hans 简体中文 language-pack-gnome-zh-hans-base language-pack-gnome-zh-hant 繁体中文 language-pack-gnom…
中文乱码在java中URLEncoder.encode方法要调用两次解决 一.场景: 1.我在客户端要通过get方式调用服务器端的url,将中文参数做utf-8编码,需要在js中两次的进行编码,服务器端才能用decode方法一次获取. 例如: var xing=encodeURIComponent(encodeURIComponent(xing)); var xing=encodeURIComponent(encodeURIComponent(xing)); 2.如果我在客户端用java输出汉字…
如果表单中含有中文,采用GET或者POST提交请求时,getParameter()方法接收到的参数值乱码. 1.乱码产生的原因 请求参数通过浏览器发送给Tomcat服务器,浏览器发送编码,但是tomcat默认采用ISO-8859-1编码进行处理,因此利用getParamenter()取出是乱码. 2.POST提交时的解决方法 在Servlet中调用request.getParameter()方法,执行下面代码 1.//解决post中文乱码,将tomcat解析HTTP协议body体编码设置为UTF…
之前已经讲过get或者post方法的中文乱码问题,之前都是在每个方法中编写设置编码.如果程序变大,就会很繁琐,使用filter可以避免这种繁琐. 1)写一个encodingFilter进行编码设置 public class encodingFilter implements Filter { @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain arg2) throws IOExce…
 中文乱码在java中URLEncoder.encode方法要调用两次解决   一.场景: 1.我在客户端要通过get方式调用服务器端的url,将中文参数做utf-8编码,需要在js中两次的进行编码,服务器端才能用decode方法一次获取. 例如: var xing=encodeURIComponent(encodeURIComponent(xing)); 2.如果我在客户端用java输出汉字作为参数,并且用http协议,也是需要两次才能在服务器端正常的一次decode xing=URLEnco…
1,Servlet请求响应中文乱码问题 package com.demo.servlet; import java.io.PrintWriter; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.htt…
一.问题描述 项目中, 使用restTemplate上传文件时, 文件名中文乱码, 一串问号, 源文件名为: 测试中文乱码哦哦哦.zip, 通过restTemplate.postForObject调用接口, 发现文件名变成了: ?????????.zip, 上传失败 二.话不多说, 解决方案 1.新建MyFormHttpMessageConverter类 package com.cn.pinliang.admin.Configure; import javax.mail.internet.Mim…
接口返回数据相关 使用@ResponseBody后返回NUll 说明:刚把后台运行起来,兴高采烈的测试接口数据,结果无论如何都是返回null, 最终通过各种百度,发现原来是没有引入关键的Jar包. 解决办法: 需要引入jackson的jar包(jackson core和jackson mapper),引入后 图:     使用@RequestMapping返回中文乱码 原因分析:(网上基本都是一致的答案) 首先: 确定的是(经过多次测试的结果)只有当返回值是 String时才会出现中文乱码,而当…
Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里. Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用request header中"Accept"的值和messageConverter支持的MediaType进行匹配,然后会用"Accept"的第一个值写入res…
去检查你的 filter 配置,是否配置了一个最高优先级的 filter, 这个最高优先级的 filter 会影响 springboot 自动配置的 CharacterEncodingFilter.原因如下: 在tomcat里: request对象的parameter并不是一开始就解析的,它是等你第一次调用getParameter*等获得请求参数有关的方法的时候才解析的 paramter一旦被解析过一次,那就不会再次被解析 所以如果在CharacterEncodingFilter之前有另外一个f…
转自解决ubuntu中zip解压的中文乱码问题 在我的ubuntu12.10中,发现显示中文基本都是正常的,只有在解压windows传过来的zip文件时,才会出现乱码.所以,我用另一个方法解决中文乱码问题. 用到的工具是The Unarchiver项目提供的lsar/unar工具.   安装(12.04及以上): 代码: sudo apt-get install unar   12.04以下或者想编译安装的朋友请参考: viewtopic.php?f=35&t=353426   使用: 假设需要…
问题: 在这样的一个控制器中: 返回字符串中文部分全是问号. 解决方案: 在spring-mvc.xml文件中加入以下代码: <!-- 支持spring3.0新的mvc注解 ,解决json中的中文乱码--> <!-- <mvc:annotation-driven /> --> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> &l…
docker 容器部署tomcat后,日志文件中出现中文乱码,很多问号,中文的文件夹也是问好.先看看容器的locale: [root@docker1 ~]# docker exec -it 41de9a0b6045 locale LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX…
乱码原因:Http请求传输时将url以ISO-8859-1编码,服务器收到字节流后默认会以ISO-8859-1编码来解码成字符流(造成中文乱码) post请求: 假设提交请求的jsp页面是UTF-8编码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 解决方法1:在服务端获取参数前,先设置解码方式. //设置解…
在原生servlet的商城项目中,BeanUtils.populate方法封装不上注册的参数. 已知BeanUtils.populate方法是封装不上date对象的,于是自定义了一个转换器用来封装Data对象. 封装成功后发现出现中文乱码问题. 本来以为是数据库的问题.把数据库的表结构看了一下,发现就是utf-8: 然后在将数据存入数据库之前,将数据进行输出,发现确实在之前就乱码了. 试试比较常见的两个方法. 以上设置没有什么卵用 = =,网上说上面两个方法只对post请求生效.然而我的就是po…
最近要调一个restful风格的api 用了 一个开源第三方组件,组件还是蛮好用的, 支持直接按参数定义实体类,然后发起请求之前直接 addobject 的方式就把请求参数给添加进去了, 解码的时候可以直接返回得到实体类,调用代码示例如下: 感觉够简便.这样一来我调用restful风格的api,只要按对方参数去组实体类,再按对方返回结果组实体类,就可以正确得到结果了. 但是后来发现中文乱码了,第一反应是,应该是我没设置解析结果时候用的编码,但是打开源代码翻看了一下,没找到哪里设置....不知道是…
来自:http://www.javaeye.com/topic/483158 应用一:解决tomcat下中文乱码问题(先来个简单的) 在tomcat下,我们通常这样来解决中文乱码问题: 过滤器代码: package filter; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import wrapper.GetHttpServletRequestWrapper; public class Conte…
一.Servlet输出乱码 1. 用servlet.getOutStream字节流输出中文,假设要输出的是String str ="钓鱼岛是中国的,无耻才是日本的". 1.1 若是本地服务器与本地客户端这种就不用说了,直接可以out.write(str.getBytes())可以输出没有问题.因为服务器中用str.getBytes()是采用默认本地的编码,比如GBK.而浏览器也解析时也用本地默认编码,两者是统一的,所以没有问题. 1.1 若服务器输出时用了, out.write(str…
[转]解决get方法传递URL参数中文乱码问题 来自:http://www.javaeye.com/topic/483158 应用一:解决tomcat下中文乱码问题(先来个简单的) 在tomcat下,我们通常这样来解决中文乱码问题: 过滤器代码:     package filter;              import java.io.*;       import javax.servlet.*;       import javax.servlet.http.*;       impo…
使用 servlet 向客户端浏览器回送中文时,经常出现中文乱码的问题,这里给大家完完全全地搞明白: 一.基本常识 中文系统默认是 GBK 编码(GBK是对GB2312的补充,包含它) 需要处理编码问题的地方: 浏览器发送请求(Request)时,所用的编码格式: Web 服务器响应(Response)回送的数据,所用的编码格式: 浏览器解析响应回送的数据,所用的编码格式: 又分为两种情况: 请求发生乱码往往是 servlet 程序获取请求信息时,获取的信息乱码,问题产生在服务端: 而客户端浏览…
转载自jquery的 ajax返回值为中文时乱码解决方法 用jquery的ajax,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了乱码. 服务器端已经编码过了(UTF-8编码).开始一直怀疑是客户端的问题,比如客户端和服务器端编码不一致啊,也怀疑是不是JQuery的AJAX工具函数中少配了 contentType: "application/x-www-form-urlencoded; charset=utf-8",…
一.了解常识: 1.UTF-8国际编码,GBK中文编码.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.web tomcat:默认是ISO8859-1,不支持中文的 3.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码: 4.getBytes() 是通过平台默认字符集进行编码: 二.引入 在学习任何一门技术时,经常会有初学者遇到中文乱码问题,比如MySQL,是因为在安装时没有设置:而在Servl…
jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 复制代码 代码如下: $.ajax({ dataType : ‘json',type : ‘POST',url : ‘http://localhost/test/test.do',data : {id: 1, type: ‘商品'},success : function(data){ } } ); 问题: 提交后后台action程序时,取到的type是乱码 解决方法: 方法一:提交前采用encodeURI两次编码,记住…