突然发现本机windows上的zkui导入配置会发生乱码了,郁闷。
是zookeeper还是zkui还是浏览器的锅呢? 我陷入了沉思

  1. 直接java插入zkclient中文,发现zkui可以成功展示出中文 排除zookeeper的问题
  2. 换个浏览器插入数据,同样乱码 排除浏览器问题
  3. 从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
新增一条中文数据!
当当~~ ,成功!

转载于:https://my.oschina.net/u/3779759/blog/2993332

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐