情况是这样的,这里只有后台,是通过http协议发送url,我这边拦截解析。不过总是出现乱码。开始的时候 改为
nickname = new String(req.getParameter("nickname").getBytes("ISO8859-1"),"utf-8");
如果直接输入中文,出现乱码。
最后看到一篇解决乱码的文章,说是get传出 url中文参数的问题,必须先进过编码,然后接收端进行解码。所以想到了URLDecoder.decode(request.getParameter("nickname"), "utf-8")
我发送url的时候 用URLEncoder.encode(
"你有勇气回来" ,"UTF-8"); 进行编码 然后用上述的进行解码
相应的测试类
package event.test;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
public class URLDecoderTest {
/**
* @throws UnsupportedEncodingException
*
* 函数功能说明
* 修改者名字 Administrator
* 修改日期 2013-1-22
* 修改内容
* @参数: @param args
* @return
* @throws
*
*/
public static void main(String[] args) throws UnsupportedEncodingException {
// TODO Auto-generated method stub
//将application/x-www-form-urlencoded字符串
//转换成普通字符串
//其中的字符串直接从上图所示窗口复制过来
//将普通字符串转换成
//application/x-www-form-urlencoded字符串
String urlStr =URLEncoder.encode(
"你有勇气回来" ,"UTF-8");
System.out.println(urlStr);
System.out.println("---------------------");
String keyWord =URLDecoder.decode(
"" +
"%E4%BD%A0%E6%9C%89%E5%8B%87%E6%B0%94%E5%9B%9E%E6%9D%A5","UTF-8");
System.out.println(keyWord);
}
}
这样传送到url的中文字符经过编码是以"%E4%BD%A0%E6%9C%89%E5%8B%87%E6%B0%94%E5%9B%9E%E6%9D%A5这样的方式进行出现的。
相应的应该用URLDecoder.decode(request.getParameter("nickname"), "utf-8")
进行解码 但是在本地是好的,能够解码得到中文,但是在linux服务器上得到的还是乱码。
最后又试了nickname = new String(req.getParameter("nickname").getBytes("ISO8859-1"),"utf-8"); 其实这里不用utf-8
因为通过ie高级设置中 一般通过utf-8发送。
不过我又试验了一下 代码如下
public static void main(String[] args) throws UnsupportedEncodingException {
String urlStr = URLEncoder.encode("你有勇气回来", "UTF-8");
System.out.println(urlStr);
System.out.println("---------------------");
String keyWord = URLDecoder.decode(""
+ "%E4%BD%A0%E6%9C%89%E5%8B%87%E6%B0%94%E5%9B%9E%E6%9D%A5",
"UTF-8");
System.out.println(keyWord);
System.out.println(new String(
"%E4%BD%A0%E6%9C%89%E5%8B%87%E6%B0%94%E5%9B%9E%E6%9D%A5"
.getBytes("ISO8859-1")));
}
中文“你有勇气回来”经过编码后为%E4%BD%A0%E6%9C%89%E5%8B%87%E6%B0%94%E5%9B%9E%E6%9D%A5
用decode方法正确解码得到所要的中文
但是用new String("%E4%BD%A0%E6%9C%89%E5%8B%87%E6%B0%94%E5%9B%9E%E6%9D%A5".getBytes("ISO8859-1"))得到的还是%E4%BD%A0%E6%9C%89%E5%8B%87%E6%B0%94%E5%9B%9E%E6%9D%A5 根本就没有解码
那相应的在 linux服务器上,进过encode编码的中文 应该有decode进行解码,不过却没有用到 而是用的
System.out.println(new String(
"%E4%BD%A0%E6%9C%89%E5%8B%87%E6%B0%94%E5%9B%9E%E6%9D%A5"
.getBytes("ISO8859-1"))
我想通过ie发送的时候 已经在ie内部经过了相应的解码 就已经调用了decode方法,具体的是怎么样 请各位看客指点。
分享到:
相关推荐
uri_pathel()函数是通过FILE_CHAR_TEST (*p, mask)这一句来判断该字符是否为特殊字符,而同时它会认为中文也是特殊字符,然后按照转换空格之类的方式对中文进行转义,这样就会造成中文乱码的情况,知道了问题所在,就...
某些通过URL来传送、值为汉字的参数,在页面中显示的是乱码,但是在本地开发环境是正常显示的。排除的因素当然就是服务器的设置不当了,但具体是那些原因呢?一般我们所装的linux服务器,是中文版的,所以系统环境的...
linux 系统下mysql中文乱码问题的解决方案 1、在命令行中输入alter database 数据库名 default character set utf8; 设置字符编码方式 2、 set names utf8; 设置显示方式 3 、jdbc中url的路径后跟上?useUnicode=true...
本资源提供的版本,主要为在Windows系统搭建的PHP环境下使用,因为原版在Windows下部署会有中文乱码的问题。在Linux系统下部署的可直接使用官网提供的原版。 目前没有修改复制、移动功能,因为觉得用处不大,在配置...
url: "ajaxsub.aspx?abc=test", type: "post", dataType: "json", success: data }); 分析:JQuery的AJAX提交,会将要提交的数据进行编码,使用encodeURIComponent在js中处理数据。因此,无论是 Firefox或者IE,提交...
中文win32下,文件名使用GBK编码 Linux下,文件名使用UTF-8编码 解决文件名解压后乱码的问题,使用将文件名进行转码
程序在windows\linux服务器下运行没问题 在客户端简体系统测试没问题; 在客户端繁体系统中如果被打包文件包含中文会有乱码现象(如有解决办法请告诉我,现在做的只能判断繁简客户端决定输出文件名); import 中的 ...
- 自动升级(本地记录版本,服务器js调用 参数 url、###version;忽略此版本。cookie。统计用户) ###ver2.0 debug `2014/3/2` ---- ####fix bug:(bug解决和程序优化) - 优化文件打开处理 - 文件&文件夹:含有%...
但WinSCP不支持编码选择,也就是说,你在Windows下使用WinSCP连接一个Linux机器,因为Linux和Windows的默认编码不同,因此是无法访问上面的中文文件或者文件夹的(将看到乱码)。一种解决方法就是在打开winscp时...
它有助于将HTML字符串或URL转换为图像字节。 请参见示例: 安装说明 Nuget包可用( ) Install-Package CoreHtmlToImage dotnet cli: dotnet add package ...将URL转换为图像字节 var converter = new
● 修复等宽截取字符乱码问题;● 修复添加自定义字段时,字段扩展控件不能选择问题;● 修复地图: ->选择地图标点时地图可搜索; ->地图坐标选择,如果为空值,则默认系统预设值; ->地图坐标选择,在https下...
8.7对URL传递的参数进行编码解码 8.8PHP与Web表单的综合应用 PHP与JavaScript交互(教学录像:1小时11分36秒) 9.1了解JavaScript 9.2JavaScript语言基础 9.3自定义函数 9.4JavaScript流程控制语句 9.5JavaScript...
8.7对URL传递的参数进行编码解码 8.8PHP与Web表单的综合应用 PHP与JavaScript交互(教学录像:1小时11分36秒) 9.1了解JavaScript 9.2JavaScript语言基础 9.3自定义函数 9.4JavaScript流程控制语句 9.5JavaScript...
4 GET方式URL乱码问题解决 打开 tomcat/conf/server.xml 查找下面这部分,在最后增加一段代码就可以了。 ...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则...
2 修正了某些情况下,涉及接口的数据出现乱码的BUG 3 放宽安全检测功能对包含ID的参数的校验规则,包含字母也视为正常 4 修正了PHP5.3+中开启AKCMS的调试模式后提示未来会删除不建议使用的警告信息的问题 5 修正...
绑定参数()”命令不支持汉字/UTF-8。 14. 修改BUG:VCL相关支持库部分组件在修改个别属性或调用个别方法后不可见,并改进了Delphi版本的支持库SDK。 15. 修改BUG:高级表格在列类型为数值型时,添加新行且省略标题...
让你短时间内由一名菜鸟到高手绝对没问题! 由于权限有限,分3部份下载 PHP程序开发范例宝典 内容提要 《PHP程序开发范例宝典》全面介绍了应用PHP进行网站开发的各种技术和技巧。《PHP程序开发范例宝典》分为20章...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...