中文编解码问题

在做EIP审批接口是遇到中文编解码问题,现在将编解码过程记录如下:

前端Javascript:

encodeURIComponent(string)

后端Java:

string = new String(string.getBytes("ISO8859-1"), "UTF-8");

附注(引用地址:http://blog.csdn.net/kalision/article/details/8640793):

发现原来在对后台java程序里的string赋值的时候,本身已经使用了一次解码(servlet对http头进行了一次解码?),不过解码的结果依然不对。所以我们可以在页面上进行两次编码操作,这样后台自动的那次就可以抵消掉一次,然后在使用java.net.URLDecoder.decode(string,"UTF-8");进行一次解码就好了。

正确的代码:

JavaScript:

encodeURIComponent(encodeURIComponent(seartext));

java:

java.net.URLDecoder.decode(searchtext,"UTF-8");

另外还有一种方法是JavaScript进行一次编码,后台java处理代码:

String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");

时间: 2024-08-06 04:36:46

中文编解码问题的相关文章

中文编解码,可用于存中文或者编码具体参数的作用,防止被知道

1 BASE64Encoder base64=new BASE64Encoder(); 2 String encoderStr=base64.encode(string.getBytes("utf-8")); 3 System.out.println(encoderStr); 4 5 BASE64Decoder base64decoder=new BASE64Decoder(); 6 byte b[]=base64decoder.decodeBuffer(encoderStr); 7

url 中文编解码

unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, Web.HT

各种音视频编解码学习详解

各种音视频编解码学习详解 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等.最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范 标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了.所以豆丁上看不出所以然,从 wiki上查.中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版

FFMPEG视音频编解码零基础学习方法-b

感谢大神分享,虽然现在还看不懂,留着大家一起看啦 PS:有不少人不清楚“FFmpeg”应该怎么读.它读作“ef ef em peg” 0. 背景知识 本章主要介绍一下FFMPEG都用在了哪里(在这里仅列几个我所知的,其实远比这个多).说白了就是为了说明:FFMPEG是非常重要的. 使用FFMPEG作为内核视频播放器: Mplayer,ffplay,射手播放器,暴风影音,KMPlayer,QQ影音... 使用FFMPEG作为内核的Directshow Filter: ffdshow,lav fil

字符编解码的故事(ASCII,ANSI,Unicode,Utf-8区别)

好文分享UTF-8, 字符集, 编解码 (关于字符编码的深入解释,请参见我的原创文章<关于字符编码,你所需要知道的>.) 此文为转载,有少许修订,原文出处不详. 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节". 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出更多的状态,状态开始变来变去.他们看到这样是好的,于是它们就这机器称为"

FFMPEG视音频编解码零基础学习方法

在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟.“大神”们水平高超,探讨着深奥的问题:而初学者们还停留在入门阶段.究竟是什么原因造成的这种“两极分化”呢?最后,我发现了问题的关键:FFMPEG难度比较大,却没有一个循序渐进,由简单到复杂的教程.现在网上的有关FFMPEG的教程多半难度比较大,不太适合刚接

1.Cocos2dx 3.2中vector,ValueMap,Touch触摸时间的使用.iconv字符编解码

 Cocos2dx3.2以后使用Vector<T>代替了CCArray.案例如下: 头文件:T02Vector.h #ifndef __T02Vector_H__ #define __T02Vector_H__ #include "T32.h" class T02Vector : public Layer { public: CREATE_FUNC(T02Vector); //Cocos2dx3.2以后使用Vector代替了CCArray Vector<Sprit

[总结]FFMPEG视音频编解码零基础学习方法

转至 http://my.oschina.net/leixiaohua1020/blog/302174 在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟.“大神”们水平高超,探讨着深奥的问题:而初学者们还停留在入门阶段.究竟是什么原因造成的这种“两极分化”呢?最后,我发现了问题的关键:FFMPEG难度比较

转[总结]FFMPEG视音频编解码零基础学习方法 .

http://blog.csdn.net/leixiaohua1020/article/details/15811977 在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟.“大神”们水平高超,探讨着深奥的问题:而初学者们还停留在入门阶段.究竟是什么原因造成的这种“两极分化”呢?最后,我发现了问题的关键:F