关于java.net.URLEncoder.encode编码问题

news/2025/2/24 10:54:27

Q:java.net.URLEncoder.encode里的编码和什么有关的?

A:使用urlencoder编码会将中文变成你在浏览器地址栏看到的%XX形式,至于选择哪种enc编码跟你jvm的default charset有关,因为java项目一般用的都是UTF-8编码,为了防止你的中文以其他编码方式打开的时候乱码(如果这个时候乱码了,你在编码解码也是乱码),推荐整个项目使用同一编码解码,如果你的项目用的是GBK的,那么java.net.URLEncoder.encode("中文.zip","GBK")也是完全没问题的,但如果你用其他编码比如iso8859-1就会解出来乱码了

Q:至于选择哪种enc跟你jvm的default charset有关 默认是UTF-8? 和tomcat目录下的conf目录下的设置端口号那个标签里的URIEncoding="UTF-8"这个属性有关么?

A:有的,如果你用的是tomcat的话,因为你网络传输需要经过tomcat处理的,tomcat会将你的网络流编码转换成配置中的编码,如果两边不对应的话,有可能会出现乱码,但如果编码站位较长转为短码也不会乱码

Q:为什么我将URIEncoding改成GBK也没见它乱码呢?

A:那要看你的项目编码设置咯,你的项目是GBK的话,tomcat的传输编码会以你运行project为准,你可以改成iso的试试的嘛

 

 

在Web的浏览器中,不同的浏览器的编码和解码规则是不一样的.

   对于W3C浏览器:遵循W3C组织规范的浏览器,(非IE).

               编码:byte[] data = “任小龙”.getByte(String charsetName);

               解码:String  str = new String(data, String charsetName);

   对于IE浏览器:

              编码使用的application/x-www-form-urlencodedMIME机制.

转载于:https://www.cnblogs.com/JSD1207ZX/p/10264883.html


http://www.niftyadmin.cn/n/3566369.html

相关文章

MySQL执行SHOW STATUS查询服务器状态状态之Handler_read_* 详解

在MySQL里,我们一般使用SHOW STATUS查询服务器状态,语法一般来说如下:SHOW [GLOBAL | SESSION] STATUS [LIKE ‘pattern’ | WHERE expr]执行命令后会看到很多内容,其中有一部分是Handler_read_*,它们显示了数据库处理…

VMware下OSSIM 5.2.0的下载、安装和初步使用(图文详解)

不多说,直接上干货! 入门阶段不建议选用最新的版本。  采用OSSIM 4.11 到 OSSIM5.0.3 之间任何版本做实验,sensor的状态都会是“V”。 建议,入门,采用OSSIM5.0.0 下载: 链接:https://pan.baidu.com/s/1…

CppUnit - 测试驱动开发入门

测试驱动开发是一个现在软件界最流行的词汇之一,可是很多人还是不得其门而入。这篇文章想通过对于 CppUnit的介绍,给予读者一个基本的映像。如果你熟知CppUnit的使用,请参阅我的另一篇文章:CppUnit代码简介 - 第一部分&#xff0c…

音频程序学习

#pragma comment(lib,"winmm") #include <mmsystem.h> #include <mmreg.h> waveOutOpen函数介绍2007-08-30 19:08(from MSDN) 这个函数打开一个给定的波形音频输出装置来进行回放。 &#xff08;The waveOutOpen function opens the given waveform-audi…

xargs参数代换

xargs 的作用是产生命令需要的参数&#xff0c;主要是用于在命令结合管道的使用中给一些不支持管道的命令提供输入参数。例如&#xff1a;利用find找出~ 目录下由特殊权限的文件&#xff0c;并用ls命令列出文件列表&#xff1a;[whxlocalhost ~]$ find ~ -perm 7000 | ls-l tot…

CppUnit使用指南

测试驱动开发的原则&#xff1a; 先写测试代码&#xff0c;然后编写符合测试的代码。至少做到完成部分代码后&#xff0c;完成对应的测试代码&#xff1b; 测试代码不需要覆盖所有的细节&#xff0c;但应该对所有主要的功能和可能出错的地方有相应的测试用例…

BMP图像文件存储结构(1)

5.1.2 BMP图像文件存储结构&#xff08;1&#xff09; BMP文件存储结构的格式可以在Windows中的WINGDI.h文件中找到定义。 BMP文件总体上由4部分组成&#xff0c;分别是位图文件头、位图信息头、调色板和图像数据&#xff0c;如表5-1所示。 表5-1 BMP文件的组成结构位图文件头…

Jenkins 部署

转自 http://www.cnblogs.com/kevingrace/p/5651427.html Jenkins通过脚本任务触发&#xff0c;实现代码的自动化分发&#xff0c;是CI持续化集成环境中不可缺少的一个环节。下面对Jenkins环境的部署做一记录。--------------------------------------------------------------…