问题描述
java使用CuratorFramework API获取zookeeper节点数据时,显示为中文乱码,使用方式
- 把数据存入Map,将Map转换为Json,创建节点时存入Json
- 读取数据时读取Json,转化为Map
String operatorObjStr = new String(event.getData().getData());
Map<String, String> map = JsonUtils.jsonToPojo(operatorObjStr, Map.class);
String songPath = map.get("key");
读取的数据即为乱码,其中文件编码为utf-8
解决方案
zookeeper的中文编码经过我的测试是gbk,所以读取数据时应、使用gbk编码
String operatorObjStr = new String(event.getData().getData(),"gbk");