bytes[] bb=str.getBytes("ISO-8859-1") 得到str的字节数组bb; new String(bb,”gbk”) 把bb的字节数组按照gbk的编码转换为系统的字符串 |
所以需要先将得到"字符"(不管是什么)都先用字节数组表示,且使用ISO-8859-1进行翻译,得到一个在ISO-8859-1编码环境下的字节数组.例如:AB表示成[64,65].然后再用GBK编码这个数组,并翻译成一个字符串. 那么我们可以得到一个编码转换的过程 假设:GBK码("你")->URLencode后变成->(%3F%2F)->Tomcat自动替你转一次ISO- 8859-1->得到( 23 43 68 23 42 68 每一个符号表示为ISO-8859-1中的一个编码)->接收页面--->再转一次为ISO-8859-1的Byte数组 [23,43,68,23,42,68]--->用GBK再转为可读的文字--->(%3F%2F"---->转为("你") |