Java 如何正确处理非英语字符?
所以我正在使用last.fm API。有时,查询会生成包含以下字符的曲目:Java 如何正确处理非英语字符?,java,string,unicode,character-encoding,char,Java,String,Unicode,Character Encoding,Char,所以我正在使用last.fm API。有时,查询会生成包含以下字符的曲目: Æther,é,Hṛṣṭa 或非英语字符,如: 水鏡 在Eclipse中调试时,我看到它们很好(按原样),但在控制台上打印它们时会显示为?——这对我来说没问题 现在,我该如何处理这些问题?起初,我想我可以删除每一首歌,除了英文歌曲以外,还有任何其他的特点。我使用了正则表达式^\\w+$,但它不起作用。我还尝试了\\w+。那也没用 然后我进一步思考如何正确处理这些问题。有人能帮我吗?我完全可以不考虑这些音轨,也就是说,我可
Æther
,é
,Hṛṣṭa
或非英语字符,如:
水鏡代码>
在Eclipse中调试时,我看到它们很好(按原样),但在控制台上打印它们时会显示为?
——这对我来说没问题
现在,我该如何处理这些问题?起初,我想我可以删除每一首歌,除了英文歌曲以外,还有任何其他的特点。我使用了正则表达式^\\w+$
,但它不起作用。我还尝试了\\w+
。那也没用
然后我进一步思考如何正确处理这些问题。有人能帮我吗?我完全可以不考虑这些音轨,也就是说,我可以只考虑英文字符音轨
另一个问题:显示控制台和/或Swing GUI字符的最佳方式是什么?您必须确保在首先读取输入时使用正确的编码
其次,确保在您开发的Eclipse平台上使用的字体能够显示所有这些字符。如果正确读取,Swing必须显示unicode字符
您可能希望在任何地方都使用UTF-8。问题可能是控制台不支持UTF-8,或者它使用的字体没有用于UTF-8的标志符号。您是指Eclipse输出控制台还是实际的操作系统命令行控制台?如果是命令行,您使用的是哪个操作系统和控制台?啊,所以我将编码改为UTF-8。完美的那么现在,我如何检查一个字符串是否包含这样的字符呢?@Arkanon我指的是Eclipse控制台。如果我的开发平台上有正确的编码,这就是你想要的吗,是否可以保证该程序在其他平台上也能正常运行?如果您将正确的应用程序提供给其他用户,他将需要在控制台的平台上使用正确的字体。例如,在Linux上,一些默认字体可能不是Unicode。因此,编码基本上有三个问题:1。你如何阅读你的输入。2.如何编写输出和3。显示输出的字体:-)