精华内容
下载资源
问答
  • Java中的两种中文转码方式

    千次阅读 2012-05-05 21:37:52
    Java中的两种中文转码方式,避免中文乱码: 第一种: request.setCharacterEncoding("UTF-8");   第二种: 搜索的时候,也就是地址栏传值,如果用到中文关键字,就需要逐个用第二种方式转码: ...

    Java中的两种中文转码方式,避免中文乱码:

    第一种:

    request.setCharacterEncoding("UTF-8");
     

    第二种:

    搜索的时候,也就是地址栏传值,如果用到中文关键字,就需要逐个用第二种方式转码:

    假如对字符串变量str进行转码,代码如下:

    str = new String(str.getBytes("ISO8859-1"), "UTF-8");
     
    展开全文
  • 中文转码

    2013-06-26 18:16:37
    在struts中我要获得从地址栏中输入的汉字怎么做??...amp;sexName=男&sexId=1 我要获得sexName="男"该怎么做 sexForm中获得的... 想问一下该怎么处理要获得中文的问题~~~~ URL方式 例如:http://...

    在struts中我要获得从地址栏中输入的汉字怎么做?? 
      例如:http://localhost:8080/sex.do?status=insertSex&sexName=男&sexId=1 我要获得sexName="男"该怎么做 
    sexForm中获得的是乱码??? 
    我用的是strust 1.2.. 
    想问一下该怎么处理要获得中文的问题~~~~

    URL方式 
    例如:http://website/test1.jsp?act=add&type=苹果&param=%20D%20B 
    一般来说我们很少直接在URL里面把参数写成中文,如例子中的"type=苹果"这样传递。如果出现这种情况,在我们的接收参数的页面我们只需要做个简单的转换就可以了。 
    代码test1.jsp:(主要部分) 

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 
    <% 
    String type = request.getParameter("type"); 
    String result = new String(type.getBytes("iso-8859-1"), "gb2312"); 
    out.println(result); 
    %> 
    更普遍的做法,就是对url中的中文字符进行编码,变成类似type=%20D%20B这样的字符。 
    代码MyJsp1.jsp: 
    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 
    <%@ page import="java.net.*" %> 
    <a href='./MyJsp2.jsp?act= <%=URLEncoder.encode("中国人 非常好 =-")%>'>test </a> 
    代码MyJsp2.jsp: 
    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 
    <%@ page import="java.net.*" %> 
    String tempVal = URLDecoder.decode(request.getParameter("act")); 
    out.println(new String(tempVal.getBytes("ISO-8859-1"), "gb2312"));

     

    更普遍的做法,就是对url中的中文字符进行编码,变成类似type=%20D%20B这样的字符。

    展开全文
  • java中文转码

    千次阅读 2016-02-26 10:38:45
    第一种: ...搜索的时候,也就是地址栏传值,如果用到中文关键字,就需要逐个用第二种方式转码: 假如对字符串变量str进行转码,代码如下: Java代码  str = new String(str.getBytes(

    request.setCharacterEncoding("UTF-8"); 

    对字符串变量str进行转码,代码如下:

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

    jsp传参数到后台需要在tomcat server.xml里的端口配置处加上下面属性

     URIEncoding="utf-8"

    URLEncoder.encode(str, "UTF-8");

    URLDecoder.decode(str, "UTF-8");


    展开全文
  • url中文转码

    2014-04-13 22:58:22
    escape("撒旦"); ...我想,URL传参中文对于程序员来说,是个很头疼的问题吧。虽然在尽量避免使用中文参数,但总有避免不了的时候...这种转码方式有很大的弊端,因为它是使用指定的字符集将此String编码为 byte序

    escape("撒旦");

    我想,URL传参中文对于程序员来说,是个很头疼的问题吧。虽然在尽量避免使用中文参数,但总有避免不了的时候。现就自己的经验,总结如下:

    1.将字符串转码:newString(xxxxx.getBytes("iso-8859-1"),"utf-8")

    这种转码方式有很大的弊端,因为它是使用指定的字符集将此String编码为 byte序列,并将结果存储到一个新的byte 数组中,然后通过使用指定的字符编码将生成的byte 数组解码,构造一个新的String字符串。这种情况就有可能遇到的情况是,不能将一个汉字全部解码完。这样,前边的都能正常显示,但是最后一个字可能是乱码。

    所以不建议使用这种方式。

    2.在传参前转码,接收参数后再转码回来。

    这种方式有两种:

    第一种:

    传参前:使用java.net.URLEncoder.encode("xxxx",utf-8")将中文转为16进制字符。

    接收参数后:使用java.net.URLDncoder.decode("xxxx",utf-8")16进制字符转为中文。

    这种方式需要注意的是,在使用encode转码后,会出现特殊字符,这时候,就需要将特殊字符替换为相应的16进制。因为特殊字符在url路径中做为参数传递时,也是乱码。

    第二种:

    传参前:encodeURI(xxxx)

    接收参数后:使用java.net.URLDncoder.decode("xxxx",utf-8")16进制字符转为中文。

    这种方式需要注意的是,在使用encodeURI转码后,会出现特殊字符,这时候,就需要将特殊字符也转码,所以使用两次encodeURI即:

    encodeURIencodeURI(“xxxx”))。

    这两种转码方式是很好用的,所以很建议大家使用。

    3. 修改tomcat配置文件:

    Tomcat的安装目录下conf文件夹中的server.xml文件,将配置访问端口的地方加上URIEncoding=utf8"即可。 <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" URIEncoding="GBK">

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent

    1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。

    例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7& u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a& gt;');</script>

    2、 进行url跳转时可以整体使用encodeURI

    例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度& ct=21");

    3、 js使用数据时可以使用escape

    [Huoho.Com编辑]

    例如:搜藏中history纪录。

    4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下 escape,encodeURI,encodeURIComponent编码结果相同。


    最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)

    escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

    encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a- z,A-Z

    encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

    javaScript中URL编码转换,escape() encodeURI() encodeURIComponent
    2007年05月12日 星期六 下午 04:48

     在使用url进行参数传递时,经常会传递一些中文名的参数或URL地址,在后台处理时会发生转换错误。在有些传递页面使用GB2312,而在接收页面使用UTF8,这样接收到的参数就可能会与原来发生不一致。使用服务器端的urlEncode函数编码的URL,与使用客户端javascript的encodeURI函数编码的URL,结果就不一样。

    javaScript中的编码方法:

    escape() 方法:
    采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / +



    encodeURI() 方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '



    encodeURIComponent() 方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。不会被此方法编码的字符:! * ( )


    因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用 encodeURI或者encodeURIComponent。


    另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在 javascript1.0版本就有。

    escape() 方法

    MSDN JScript Reference中如是说:

    The escape method returns a string value (in Unicode format) that contains the contents of [the argument]. All spaces, punctuation, accented characters, and any other non-ASCII characters are replaced with %xx encoding, where xx is equivalent to the hexadecimal number representing the character. For example, a space is returned as "%20."

    译:escape方法以Unicode格式返回一个包含传入参数内容的string类型的值。 Escape方法会将传入参数中所有的空格、标点符号、重音字符以及其它任何非ASCII字符替换为%xx的编码形式,其中xx与其所表示的字符的16进制数表示形式相同。如空格字符的16进制表示形式为0x20,则此时xx应为20,即escape(‘ ’) 返回“%20”。

    Mozilla Developer Core Javascript Guide中如是说:

    The escape and unescape functions let you encode and decode strings. The escape function returns the hexadecimal encoding of an argument in the ISO Latin character set. The unescape function returns the ASCII string for the specified hexadecimal encoding value.

    译:escape和unescape方法能够帮助你编码和解码字符串。escape方法对于ISO Latin字符集中的字符组成的参数,返回其16进制编码。相对应的,unescape方法则能将16进制编码形式的参数转化成为其ASCII码形式。

    encodeURI()方法

    MSDN JScript Reference中如是说:

    The encodeURI method returns an encoded URI. If you pass the result to decodeURI, the original string is returned. The encodeURI method does not encode the following characters: ":", "/", ";", and "?". Use encodeURIComponent to encode these characters.

    译:encodeURI方法返回一个经过编码的URI。如果将encodeURI方法的编码结果传递给decodeURI方法作参数,则能得到原始的未编码的字符串。需要注意到是encodeURI方法不编码如下字符":", "/", ";", and "?"。如果想要编码这些字符,请使用encodeURIComponent方法。

    Mozilla Developer Core Javascript Guide中如是说:

    Encodes a Uniform Resource Identifier (URI) by replacing each instance of certain characters by one, two, or three escape sequences representing the UTF-8 encoding of the character.

    译:通过将每个属于特定的字符集合的字符替换为一个、两个或者三个(为什么是“一个、两个或者三个”本人也没有搞懂,望高人赐教)使用UTF-8编码来表示这个字符的escape序列来编码一个URI。如~!@#$%^&*(){}[]=:/,;?+\''"\\ 将被替换为~!@#$%25%5E&*()%7B%7D%5B%5D=:/,;?+''%22%5C

    encodeURIComponent()方法

    MSDN JScript Reference中如是说:

    The encodeURIComponent method returns an encoded URI. If you pass the result to decodeURIComponent, the original string is returned. Because the encodeURIComponent method encodes all characters, be careful if the string represents a path such as /folder1/folder2/default.html. The slash characters will be encoded and will not be valid if sent as a request to a web server. Use the encodeURI method if the string contains more than a single URI component.

    译:encodeURIComponent方法返回一个编码过的URI。如果将encodeURIComponent方法的编码结果传递给 encodeURIComponent方法作参数,则能得到原始的未编码的字符串。因为encodeURIComponent方法会编码所有的字符,所以如果待编码的字符串是用来表示一个路径(如/dir1/dir2/index.htm)时,就一定要小心使用了。‘/’符号会被其编码之后,将不再是一个有效的路径标识符,所以不能被web服务器正确地识别。当字符串包含一个单独的URI component(指?后面的请求参数)的时候,请使用此方法。

    Mozilla Developer Core Javascript Guide中如是说:

    Encodes a Uniform Resource Identifier (URI) component by replacing each instance of certain characters by one, two, or three escape sequences representing the UTF-8 encoding of the character.

    译:通过将每个属于特定的字符集合的字符替换为一个、两个或者三个(为什么是“一个、两个或者三个”本人也没有搞懂,望高人赐教)使用UTF-8编码来表示这个字符的escape序列来编码一个URIComponent。

    有什么区别?何时使用?


    通过上面的介绍可以看出,MS的文档明显要比Mozilla详细、易懂一些,但是它们表达的都是一个意思。但是escape(), encodeURI()和 encodeURIComponent()有什么异同,它们分别适用于那种特定的情况呢?

    escape方法并不编码字符+。而我们知道,在用户提交的表单字段中,如果有空格,则会被转化为+字符,而服务器解析的时候则会认为+号代表空格。由于这个缺陷,escape方法并不能正确地处理所有的非ASCII字符,你应当尽量避免使用escape方法,取而代之,你最好选择 encodeURIComponent()方法。
    escape()不编码的字符:@*/+

    相对于使用escape方法,使用encodeURI方法会显得更专业一些。当你需要编码一整个URI的时候,你可以使用此方法,因为URI中的合法字符都不会被编码转换。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。
    encodeURI() 不编码的字符: ~!@#$&*()=:/,;?+''

    encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。
    encodeURIComponent()不编码的字符: ~!*()''

    转自:http://blog.csdn.net/tjcyjd/article/details/7364873

    展开全文
  • url 中文转码

    千次阅读 2012-03-17 19:29:38
    escape("撒旦");     ...我想,URL传参中文对于程序员来说,是个很头疼的问题吧。虽然在尽量避免使用中文参数,但总有避免不了的...这种转码方式有很大的弊端,因为它是使用指定的字符集将此String编码为 byte
  • = URL 中指定参数的值 %3D 这种情况就需要解码了,解决方式如下 java中的转码,这里需要自己对str也就是url的字符串进行下非空判断如果为空的话返回个空字符串 private final static String ENCODE = "UTF-8";...
  • URL 中中文转码

    千次阅读 2013-08-26 21:00:44
    URL 中中文转码 (主要是JS的方法,传之前先编码 到之后再解码 防止系统帮助我乱编码!) 我想,URL传参中文对于程序员来说,是个很头疼的问题吧。虽然在尽量避免使用中文参数,但总有避免不了的时候。现就自己的...
  • url使用get方式提交时,js中文转码

    千次阅读 2012-07-12 17:10:27
    使用encodeURI()转码 var param = "中文"; get方式提交 var url = "aa.html?param="+ encodeURI(param); 后台: String problem = new String(URLDecoder.decode(request  .getParameter("param"), "utf-8")); ...
  • 'test'=>urlencode("中文测试") ]; $str= json_encode($test); echo urldecode($str); 结果: {"test":"中文测试"}   转载于:https://my.oschina.net/u/2494575/blog/2209621
  • 中文转码问题

    2010-06-28 12:22:22
    以GET方式提交表单,获取元素的时候有一个元素出现了乱码,而其他元素没有出现,请问这是为何呢?
  • 在Post方式中//第一种:对于该方法全局有效response.setContentType("text/html;charset=GBK");response.setCharacterEncoding("GBK");...//第二种:只对要转码的特定字符串有效String name= request.getParameter("n...
  • url的中文转码和解码

    2020-08-21 15:12:27
    当页面url中带有中文或者中文参数时,有的浏览器会自动解析,有的则不会,又是又会出现之外的错误,所以最佳的方式为将页面的带有中文字符的字段转码再解码; let url = "/video/list/" + encodeURI("老李")//转码...
  • javascript 转码方式

    2012-07-18 08:51:34
    javascript 转码方式 javaScript中URL编码转换,escape() encodeURI() encodeURIComponent javaScript中URL编码转换,escape() encodeURI() encodeURIComponent  在使用url进行参数传递时,经常会传递...
  • eclise项目中文转码

    2016-07-16 09:07:27
    将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同。总结网上的建议和自己的体会,可以参考以下几种解决...
  • 在php5.4以前做json_encode的时候中文会被unicode编码,中文都会被编码,变成不可读的,类似“\u***... 5.4之前不进行unicode转码,有3种方法处理: 但其实前两种方式是会导致问题,在一些特殊的情况下。如下例: 复制
  • URL的中文转码 如果当URL中还有中文字符时,将会报无法找到URL的错误,解决方式如下: GET中文转码方法:[@"http://120.25.226.186:32812/login2?username=中文转码&pwd=520it&type=JSON" ...
  • ajax中文转码的问题

    千次阅读 2008-03-26 17:58:00
    在ajax实现google suggest...具体过程如下:1,前台输入中文,通过GET方式传给后台。将中文转成UTF-8编码。这个过程可以使用javascript的函数escape(),但是需要注意的事这时候需要用两次escape(),否则后台接受不到。例
  • JavaScript 转码方式

    2010-09-09 13:31:16
    javaScript中URL编码转换,escape() encodeURI() ... 在使用url进行参数传递时,经常会传递一些中文名的参数或URL地址,在后台处理时会发生转换错误。在有些传递页面使用GB2312,而在接收页面使用U...
  • String value = request.getParameter("name"); String s = new String (value.getBytes("ISO8859-1"),"UTF-8");
  • python读取格式为utf8的中文文件时,存入字符串的是UTF-8码,如需Unicode需要转码 : str.decode(‘utf8’) 而用beautifulsoup库【bs4】: soup = BeautifulSoup(str, “lxml”) str = soup.get_text() 之后的str...
  • gbk编码的字节数组按utf8编解码是不可逆的; utf8编码的字节数组按gbk编解码是不可逆的; 而gbk或utf8按iso8859-1编解码是可逆的。 原因是utf8 编码是3字节表示汉字,gbk...按照可逆不可逆的规则顺序转码,就可以成功了。
  • 今天在使用ResourceBundle读取配置文件的时候遇到了中文乱码的问题,后来使用 new String(str.getBytes(“iso-8859-1”),“utf-8”) 的方式解决的,现在将原理简单叙述记录下。 在java中 str.getBytes();会根据操作...
  • 一、使用jquery-qrcode生成二维码 先简单说一下jquery-qrcode,这个... qrcode.js 是实现二维码数据计算的核心类, jquery.qrcode.js 是把它用jquery方式封装起来的,用它来实现图形渲染,其实就是画图(支持canva...
  • 由于将Array转换为json的json_encode()方法仅能将utf-8字符集进行转换,不是utf-8格式的中文字符会变成null,需要对Array中的字符进行统一转码,但是iconv()方法只能转换字符串类型编码,网...
  • 网页向servlet传递中文参数的转码过程 一. 在网页的输入框中键入中文字符串,点击提交。 二. 浏览器将键入的中文字符串A编码成字节流A,提交给服务器. (浏览器编码的方式采用的浏览器设定的编码,如...
  • 1. 编写过滤器程序EncodingFilter,实现POST方式下的中文转码。 2. 编写过滤器程序liuyanfilter,实现将用户输入的用户名“张”转换成“李”,将用户输入的留言内容“剑桥”转换成“****”。 程序其他功能页面...
  • 一、URL示例 ...age=18 二、解决中文乱码 1、设置request的字符编码方式 request.setCharacterEncoding("UTF-8"); 2、字符串转码 String rqName = request.getParameter("name"); ...
  • VLC 中文路径转码问题

    千次阅读 2015-03-03 11:33:51
    最近用MFC编写调用libVLC的程序时碰到中文路径不能打开的问题,愤闷了两天终于给解决了,在这里贴出来希望给那些遇到转码问题的人一点帮助。 主要问题是编码方式不对,现在程序主要是用Unicode码,我遇到的libVLC...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 640
精华内容 256
关键字:

中文转码方式