究竟是什么之间的技术差异console.writeline和System.out.println?我知道System.out.println写入标准输出但这与控制台不一样吗?
我不完全理解的文档进行console.writeline.
我们尝试在Windows上使用Java和UTF-8.应用程序在控制台上写入日志,我们希望将UTF-8用于日志,因为我们的应用程序具有国际化日志.
可以配置JVM,使其-Dfile.encoding=UTF-8作为JVM的参数生成UTF-8 .它工作正常,但Windows控制台上的输出是乱码.
然后,我们可以将控制台的代码页设置为65001(chcp 65001),但在这种情况下,.bat文件不起作用.这意味着当我们尝试通过我们的脚本(名为start.bat)启动我们的应用程序时,绝对没有任何反应.命令simple返回:
C:\Application> chcp 65001
Activated code page: 65001
C:\Application> start.bat
C:\Application>
Run Code Online (Sandbox Code Playgroud)
但没有chcp 65001,没有问题,应用程序可以启动.
有关于此的任何提示?
问题
当我想在Python解释器中输入 Unicode字符时出现问题(为简单起见,我在示例中使用了a-umlaut,但我首先遇到了这个用于Farsi字符).每当我将python与chcp 65001代码页一起使用,然后尝试输入一个Unicode字符时,Python就会退出而没有任何错误.
我花了好几天试图解决这个问题无济于事.但是今天,我在python网站上发现了一个帖子,另一个在MySQL上发现了一个线程,另一个在Lua用户身上发现了这个突然退出的问题,尽管没有任何解决方案,有些说这chcp 65001本身就是破坏的.
一劳永逸地知道这个问题是与chcp设计有关还是有可能的解决方法.
重现错误
chcp 65001
Python 3.X:
Python shell
print('ä')
结果:它只是退出shell
然而,这是有效的python.exe -c "print('ä')"
,也是这样的:print('\u00e4')
结果:ä
在Luajit2.0.4中
print('ä')
结果:它只是退出shell
但这有效: print('\xc3\xa4')
到目前为止,我已经提出了这个观察结果:
所以, 这不是一个Python的错误和我们不能在Windows命令提示符或任何其包装像Conemu,Cmder的CLI程序直接使用Unicode字符(我用Cmder能够看到和在Windows中使用Unicode字符shell和我这样做没有任何问题).它是否正确?