java - 如何正确处理非英文字符?

标签 java string unicode character-encoding char

所以我正在使用last.fm API。有时,查询结果会产生包含以下字符的轨道:

以太éHṛṣṭa

或非英语字符,例如:

水镜.

在 Eclipse 中调试时,我看到它们很好(按原样),但在控制台上打印时将它们打印为 ??? - 这对我来说没问题。

现在,我该如何处理这些?起初我以为我可以删除所有包含英语以外的字符的歌曲。我使用了正则表达式 ^\\w+$ 但它不起作用。我也尝试过\\w+。这也不起作用。

然后我进一步思考如何正确处理这些问题。任何人都可以帮助我吗?我完全同意将这些轨道排除在外,即。我可以接受只有英文字符轨道。

另一个问题:显示控制台和/或 Swing GUI 的这些特性的最佳方式是什么?

最佳答案

您必须确保在首先读取输入时使用正确的编码。

其次确保您开发的平台上的 Eclipse 中使用的字体能够显示所有这些字符。如果您正确读取的话,Swing 必须显示 unicode 字符。

您可能希望在任何地方都使用 UTF-8。

关于java - 如何正确处理非英文字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15669134/

相关文章:

Java:具有编码和缓冲区大小的PrintWriter

ruby - 读取文件时如何避免被 UTF-8 BOM 绊倒

java - 使用递归计算要打印的内容的数量

java - 从 InputStream 读取时如何避免编码 null (\u0000)

javascript - 用已知位置替换多个字符串

c - 当我分配了足够的内存时,为什么会得到 "segmentation fault 11"?

PHP json_encode 将本地语言字符作为 html 实体返回。需要 unicode 格式的输出

sql-server - 将值转换为 URL 友好格式 - Unicode 分解 ähhh

java - 用 Java 读取大文件

java - 输入EditText(类型:Number) into array[]