Ⅰ java短信的url怎么处理中文乱码怎么处理
1、在客户端用escape(encodeURIComponent(fieldValue))方法编码,例如:
复制代码代码如下陆仔:
title=escape(encodeURIComponent(title)); //扰悉改这是js里的函数
url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;
2、在服务端用java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8"),进行解码。
-----------------------------------------------------------------------------
parent.window.location.href 和 iframe中src的乱码问题。
要在这两个url地址中传中文,缓判必须加编码,然后再解码。
编码:encodeURI(encodeURI("包含中文的串"))
解码:java.net.URLDecoder.decode("需要解码的串","utf-8");
Ⅱ java url中有中文 传到后台有乱码 怎么改 乱码是
你这个问题真心不好办,建议你把页面编码核中改为慧氏橘GBK编码把。像楼上说的这些方法看似行得通,原理就是把utf-8转为gbk然后再转回utf-8,但那样是不能解决问题的,试图通过String newStr = new String(str.getBytes("gbk","utf-8"));办不到的,结果是中文字符为奇数会出现最后一个字乱码。我以前也曾碰到这个情况,最后还是把页面统一编码解前团决。
Ⅲ java filter 过滤器中文乱码 怎么解决啊
1、首先编写一个Java类的filter代码。操作步骤:
(1)在myeclipse中新建一个java类,
(2)单击“Add”按钮,在弹出来的对话框中“选择接口”文本框中输入Filter,
并选择匹配好的类型javax.servlet
(3)单击“OK”按钮返回"New Java Class"对话,然后单击“Finish”按钮,就可以看到创建的过滤器框架:
过滤器类:Encoding.java,代码如下:
package com;
import java.io.IOException;
import javax.servlet.*;
public class Encoding implements Filter {
protected String encoding=null;
protected FilterConfig config;
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(request.getCharacterEncoding()==null){
//得倒指定的编码
String encode=getEncoding();
if(encode!=null){
//设置request的编码
request.setCharacterEncoding(encode);
response.setCharacterEncoding(encode);
}
}
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.config=filterConfig; //得到web.xml中的配置编码
this.encoding=filterConfig.getInitParameter("Encoding");
}
protected String getEncoding(){
return encoding;
}
}
2、在web.xml文件写入以下代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<filter> <!-- 控制编码 -->
<filter-name>EncodingFilter</filter-name>
<filter-class>com.Encoding</filter-class>
<init-param> <!-- 初始化参数 -->
<param-name>Encoding</param-name>
<param-value>GB2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Ⅳ java 地址栏直接输入中文参数 后台乱码
你在后台Action里设置下把接收的参数编译一下.如果不是这个问题的话,就比较麻烦了
要写个过滤器 代码如下
<!-- 设置编码格式为utf-8 -->
<filter>
<filter-name>CharacterEncodingFilter<兆瞎没/filter-name>
<filter-class>族纳
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>神悔*.do</url-pattern>
</filter-mapping>
Ⅳ 解析URL中的汉字参数 Java
import java.net.URLDecoder;
import java.net.URLEncoder;
String strTest = "?=abc?中%1&2<3,4>渗信亏丛神";
strTest = URLEncoder.encode(strTest, "坦悉UTF-8");
System.out.println(strTest);
strTest = URLDecoder.decode(strTest,"UTF-8");
System.out.println(strTest);
Ⅵ Java URL访问路径中文问题
不要用中文路径,即使你这次适配了,换个环境还是可能不行的,文件英文可以用file,图片可以用pic
Ⅶ URL传递中文、Ajax传递中文,Java如何编码如何解决乱码
地址栏中出现汉字的情况有两种,一种是汉字出现在URL的路径部分,一种是汉字出现在URL的传参的部分,第二种情况的时候必须采用编码后传参,接受时解码的方式完成传参。js中编码有escape(),encodeURI(),encodeURIComponent()三个常用的方法,escape()常常用在提交页面和处理页面的编码格式相同的情况下(比如它们都是GB2312),encodeURI()和encodeURIComponent()的用法基本相同,区别在于encodeURIComponent()也对"?"等特殊字符进碰蠢薯行编码。
一开始遇到中文参数的时候,使用encodeURI()进行了一遍编码,传过去后,发现解码出现问题,于是想到可能是档启编码方法使用错误,于是使用escape()方法,这时发现解码时抛出isHexDigit异常。借助网络搜索isHexDigit异常,
发现原来,是escape()方法造成了异常,同时了解了浏览器传递地址的一些原理,在浏览器地址栏里,浏览器认为%是个转义字符,浏览器会把%与%之间的编码,两位两位取出后进行解码,然后再传递给处理页面,
然后由处理页面进行再次解码。由此我想到一直使用encodeURI方法是正确的,只是需要使用两次encodeURI方法,例如encodeURI(encodeURI("中文"));第一次是把中文编码成%xy的格式,
第二次是对%xy中的%进行编码,%编码成%25。整个传参过程大体应该是:提交页面使用encodeURI(encodeURI("中文"))编码,把最后的编码结果%25xy传递给处理页面的过程中,浏览器获取URL地址
(注意openModelDialog方法,浏览器获取不到参数编码)后解码成%xy,然后把%xy传递给处理页面,处理页面使用URLDecoder.decode(request.getParameter("参数名"),"UTF-8");完成解码。
总结:1、汉字出现在URL路径部分的时候不需要编码解码;
2、使用encodeURI进行2次编码;
3、在openModelDialog()打开的模式窗体里没办法用request.getParameter正确获取参数;
客户端和服务器在传递数据时可以用过滤器filter解决字符编码问题,但filter只能解决post方式提交的数据。对于get方式,可以使用两次encodeURI(encodeURI(中文))并在服务器中使用URLDecoder.decode(中文, "UTF-8");
今天用Ajax校验数据时也遇到这个笑者问题,尽管页面、类和web容器都统一了字符编码,提交的数据依然是乱码,所以就采用了2次encodeURI()编码方式,乱码问题就解决了。
Ⅷ javaweb中当重定向的url中含有中文时怎么处理
一般浏览器自己会处理,你也可以自己进行url编码或base64编码
Ⅸ Java中做网络抓取demo用的Jsoup进行url解析如果链接中带中文就会出现乱码
哪是因为网页编码都是UTF_8的 你出现中文即是GBK的 所以需核知早改雀要转成UTF_8格式的字符串 就不会出猛轮现乱码了
Ⅹ java中通过url获取网页内容,中文显示是乱码
URLConnection context = url.openConnection();
InputStream in = context.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in, "gbk"));
包装物睁陵流的早慧时候要加罩戚入网站的编码 ,gbk和utf-8都试试