java - 扫描仪未正确扫描 UTF-8 字符(java)
问题描述
我正在制作一个控制台程序,用于扫描通常包含捷克语字符(如 ěščřžáíé)的名称。在 Eclipse 中,它可以完美运行,但是当我将其导出到 jar 文件并在 cmd 中运行时,扫描仪将捷克语字符替换为“ˇçź”等字符。当我打印字符时,System.out.print("ěščřžýá");
它们显示正确。我尝试chcp
在 cmd 中使用 65001 将编码更改为 UTF-8,但这完全删除了程序中各处的捷克字母。我也尝试过使用new Scanner(System.in, "UTF-8")
,但这只是用问号替换了字母。我怎样才能解决这个问题?提前致谢
解决方案
chcp
我通过在打印出来的 cmd 中执行来解决它Active code page: 852
,然后将 852 放在旁边,new Scanner(System.in)
如下所示new Scanner(System.in, "Cp852")
:现在它可以正确打印和扫描字符了!
推荐阅读
- google-maps - 如何在颤振中与谷歌地图集成?
- javascript - UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, stat '/assets/level.png'
- protractor - Protractor - slow clicking on elements
- python - how to sort a list in python by two arguments
- python - Pandas iterrows can't skip row during iteration if condition met
- javascript - 你如何从 fabricjs 画布对象中获取 id?
- java - Eclipse plugin to remove validation from existing editor
- html - Submenus of a Dropdown menu appear when i hover via another dropdown menu
- css - Setting transition time of slider navigation arrows
- nginx - Streaming from obs to Nginx