※ 引述《del680202 (HANA)》之铭言:
:
: ※ 编辑: del680202 来自: 61.230.139.95 (03/24 22:33)
: 推 virnux:用BufferedWriter装饰OutputStreamWriter 03/24 22:44
: → danny8376:getBytes拿到的是正确的啊... 你那里没写对吧 03/24 22:46
:
: 我问题没描写清楚
:
: 说细一点的话
:
: 我有一只daemon会去产生档案是big5编码
:
: java client会去把那个档案用InputStream读进来后先转成java字串
:
: 假设是 String str = new String(inputBytes, "big5")
:
: 这时候的str在client可以正常显示没问题
:
: 之后要把str丢往server了,先经过一手转换
:
: str = new String(str.getBytes("utf-8"))
问题在这
new String(str.getBytes("utf-8"))
这句的意思是请把str.getBytes("utf-8")这一整串utf-8的bytes
用"系统默认编码"去转成字串 也就是big5
然后送出时会再转成bytes送出
而这边就产生你说的问题了
请改成
new String(str.getBytes("utf-8"), "utf-8")
不然就直接
write(str.getBytes("utf-8"))
:
: 之后server接到str用Writer写到local
:
: 不过显示出来就如上面讲的,还得经过iconv转回big5才能正常显示
:
: