突然发现本机windows上的zkui导入配置会发生乱码了,郁闷。
是zookeeper还是zkui还是浏览器的锅呢? 我陷入了沉思
- 直接java插入zkclient中文,发现zkui可以成功展示出中文 排除zookeeper的问题
- 换个浏览器插入数据,同样乱码 排除浏览器问题
- 从githubclone出项目代码,本机运行起来,打断点发现并没有乱码
晕了,上述三个都没有问题?那到底是谁得问题呢?
得了,开启个远程调试看下,startup 启动脚本中增加:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1506
远程连接jvm从新写入一条数据,发现在String.getBytes()时有些异常:byte[]只有2个字节,UTF-8的话中文可是有3个字节哦
在zkui Main 中增加:System.out.println("Default Charset=" + Charset.defaultCharset()); System.out.println("file.encoding=" + System.getProperty("file.encoding")); System.out.println("Default Charset=" + Charset.defaultCharset());
发现是GBK!!
怎么回事小老弟,说好的utf-8呢?
原来是windows cmd的锅,我醉了
startup.bat中增加:-Dfile.encoding=utf-8
新增一条中文数据!
当当~~ ,成功!
所有评论(0)