jfinal getCookie 中文乱码

渔泯小镇 发布于 2013/07/30 23:23
阅读 1K+
收藏 1

容器使用的是:jetty-server-8.1.8.jar  

JFinal_demo-1.4.zip自带的.https://jfinal.googlecode.com/files/JFinal_demo-1.4.zip

使用的是Controller.java 自带的 setCookie(name, value, maxAgeInSeconds, "/", null); 方法

/**
	 * Set Cookie with path = "/".
	 */
	public Controller setCookie(String name, String value) {
		setCookie(name, value, MAX_AGE);
		return this;
	}







大家在使用过程中有没遇见相同的情况,请问如何解决。 谢谢!


加载中
0
渔泯小镇
渔泯小镇
/**
 * Set Cookie with path = "/".
 */
public Controller setCookie(String name, String value) {
  setCookie(name, value, MAX_AGE);
  return this;
}

public Controller cookieUTF8(String name, String value) {
  try {
    // 编码
    value = URLEncoder.encode(value,"UTF-8");
    this.setCookie(name, value);
  } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
  }
  return this;
}

public String cookieUTF8(String name) {
  try {
    // 解码
    return URLDecoder.decode(this.getCookie(name),"UTF-8");
  } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
  }
  return null;
}
0
渔泯小镇
渔泯小镇

找到一个解决办法

try {
	nick = URLEncoder.encode(new String(Base64.encodeBase64(data)), "UTF-8");
	
	this.setCookie("nick", nick);
	nick = this.getCookie("nick");
	System.out.println(nick);
	System.out.println(_Decrypt(nick));
} catch (UnsupportedEncodingException e) {
	e.printStackTrace();
}

0
JFinal
JFinal
解码需要 decode 方法
0
黄开源中国
黄开源中国
用tomcat之前试过只要设置了编码就可以。不用转码。。jetty是不一样吗?
返回顶部
顶部