jsp中java代码转码 jsp页面转码

JSP转码是如何进行的?

转码:a.href=./showcont.jsp?tcontent=+encodeuri(encodeuri(tcontent));

创新互联公司于2013年成立,我们提供高端网站建设、重庆小程序开发、电商视觉设计、成都App定制开发及网络营销搜索优化服务,在传统互联网与移动互联网发展的背景下,我们坚守着用标准的设计方案与技术开发实力作基础,以企业及品牌的互联网商业目标为核心,为客户打造具商业价值与用户体验的互联网+产品。

解码:java.net.urldecoder.decode((string)request.getparameter(tcontent), utf-8);

例:

a.jsp源代码

代码如下:

%@ page contenttype=text/html; charset=gb2312 language=java import=java.sql.* errorpage= %

!doctype html public -//w3c//dtd xhtml 1.0 transitional//en ;

html xmlns=;

head

meta http-equiv=content-type content=text/html; charset=gb2312 /

title无标题文档/title

/head

body

%

string str_test = 华工;

%

form method=post action=b.jsp?test=%=java.net.urlencoder.encode(str_test) %

input type=submit value=submit name=提交

/form

/body

/html

b.jsp源代码

代码如下:

%@ page contenttype=text/html; charset=gb2312 language=java import=java.sql.* errorpage= %

!doctype html public -//w3c//dtd xhtml 1.0 transitional//en ;

html xmlns=;

head

meta http-equiv=content-type content=text/html; charset=gb2312 /

title无标题文档/title

/head

body

%

string str = new string(request.getparameter(test).getbytes(iso8859_1));

%

br

%=str %

/body

/html

java文件中 一个字符串传到jsp中, 再传到java中就乱码了 怎么解决!

方法一:设置

request

response

的编码

[

页面编码必须为

u8

]

request.setCharacterEncoding("UTF-8");//传值编码

response.setContentType("text/html;charset=UTF-8");//设置传输编码

方法二:

String

str1=传来的数据。

String

ss=new

String(str1.getBytes("ISO-8859-1"),"utf-8");

//转码UTF8

java怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串

通过JDK1.6知道String类中getBytes(”编码“)方法可以讲一个数用指定的编码转成一个字节数组,String中通过指定的 charset解码指定的 byte 数组,构造一个新的 String。代码如下:

try{

String s = "java学习";

System.out.println(s);

String result = new String(s.getBytes("GB2312"),"iso-8859-1");

System.out.println(s);

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

扩展资料:

getBytes() 方法有两种形式:

1、getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

2、getBytes(): 使用平台的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

参考资料:

百度百科-getBytes()

java中编码与解码分别指什么?

java中编码:URLEncoder.encode(strUri,"utf-8");

java中解码码:URLDecoder.decode(strUri,"utf-8");

java编码和解码        

流读取文件,具有转换编码功能的有:OutputStreamWriter和InputStreamReader,

构造器有如:

InputStreamReader(InputStream in, String charsetName)

创建使用指定字符集的 InputStreamReader。

OutputStreamWriter(OutputStream out, String charsetName)

创建使用指定字符集的 OutputStreamWriter。

处理字符串编码问题:

重新对获取的字符串进行编码:Byte[] bytes = str.getBytes(String encodeCharsetNam);

重新对bytes进行解码,创建新的字符串对象:str = new String(Byte[] bytes,String decodeCharsetName);

一般结合使用:str = new String(str.getBytes(String encodeCharsetName),String decodeCharsetName);

例如:resultName=new String(username.getBytes("ISO-8859-1"),"UTF-8");

还可以加入判断:

if(!Charset.forName("gbk").newEncoder().canEncode(str)){str = new Strin(str.getBytes("ISO-8859-1"),"UTF-8");}else{str = new String(str.getBytes("ISO-8859-1"),"gbk");}

处理请求参数传递编码问题:

java中编码:URLEncoder.encode(strUri,"utf-8");

java中解码码:URLDecoder.decode(strUri,"utf-8");

js中编码:encodeURIComponent(strUri);encodeURI(strUri);escape(str);

js中解码:decodeURIComponent(strUri);decodeURI(strUri);unescape(str);

补充概念:

URI组件:主机、端口、路径、查询参数、片段等。

URI组件分隔符::/?#[]@,冒号用于分隔协议和主机,/用于分隔主机和 路径,?用于分隔路径和查询参数,用于分隔多个查询参数等。

URI中的不安全字符或保留字符: ! * ‘ ( ) ; : @ = + $ , / ? # [ ] 他们具有特殊作用,例如上面的分隔作用。

URI允许出现的字符:只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符,其他字符均需要经过编码之后才能出现在Url中,比如使用保留字符的原意,而不是特殊作用。

js向java/jsp的编码与解码:

js中编码:encodeURI(encodeURI(strUri));decodeURIComponent(decodeURIComponent(strUri));

java/jsp中解码: java.net.URLDecoder.decode(strUri,"UTF-8");

js中编码两次的问题:如果使用一次编码,在浏览器地址栏里,浏览器认为%是个转义字符,浏览器会把%与%之间的编码值,两位两位取出后进行解码。

然后再传递给处理页面,然后由处理页面进行再次解码,这样前面就缺少了一次编码过程,所以前面需要连续两次编码。


文章名称:jsp中java代码转码 jsp页面转码
本文网址:http://scyanting.com/article/dopjjps.html