如何处理向Cookie写入中文的有关编码问题?

如何处理向Cookie写入中文的有关编码问题?

jsp页面的编码是GBK
Oracle数据库的编码是ZHS16GBK(也应该是GBK编码吧)

首先是map.get(“USERNAME“).toString(),这里返回的应该是以GBK编码的username,可是在
经过转码存入Cookie后(tomcat应该默认用ISO-8859-1编码存入Cookie的值),再转码读出的Cookie值确是““或“??”,代码如下
//数据库中取出并编码存入cookie
String un=new String(map.get("USERNAME").toString().getBytes("GBK"),"ISO-8859-1");


//转码读出
String uname=util.CookieUtils.getCookieValue("username",request);
uname=new String(uname.getBytes("ISO-8859-1"),"GBK")
out.print(uname);