rabby 发表于 2013-2-6 10:06:14

java中文乱码问题

    在java中提供了两个类,java.net.URLEncoder和java.net.URLDecoder,java.net.URLEncoder.encode(String s, String enc)用于对字符串进行编码,java.net.URLDecoder.decode(String s, String enc)用于对字符串进行解码,综合运用这两个方法,即可解决java中的中文乱码问题!
 
Demo:
package com.test.action;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.Result;import com.opensymphony.xwork2.ActionSupport;public class Test2Action extends ActionSupport {private static final long serialVersionUID = 7006788055764049778L;private String username;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}@Action(value="test2",results={@Result(name=ActionSupport.SUCCESS,type="redirectAction",location="test3",params={"username","${username}"})})public String test2(){System.out.println(this.username);try {this.username = URLEncoder.encode(this.username, "UTF-8");   //对username编码} catch (UnsupportedEncodingException e) {e.printStackTrace();}return ActionSupport.SUCCESS;}@Action(value="test3",results={@Result(name=ActionSupport.SUCCESS,location="/test3.jsp")})public String test3(){try {this.username = URLDecoder.decode(this.username, "UTF-8");   //对username解码} catch (UnsupportedEncodingException e) {e.printStackTrace();}System.out.println(this.username);return ActionSupport.SUCCESS;}}
页: [1]
查看完整版本: java中文乱码问题