java - UTF-8解码问题

标签 java encoding utf-8 character-encoding decoding

我对某些 URL 的 UTF-8 解码感到疯狂。我正在使用

URLDecoder.decode (java.net.URLDecoder) 

解码一些带有特殊字符的URL。正如您在下面看到的,对于 URL 中的某些位置名称,解码可以工作,而对于某些位置名称则不能...

biha%C4%87 --> biha? (WRONG)
d%C3%A9partement+morbihan --> département morbihan (CORRECT)
gespanschaft+me%C4%91imurje --> gespanschaft me?imurje (WRONG)
hajd%C3%BA+bihar --> hajdú bihar (CORRECT)

有什么想法吗?非常感谢! 汤姆

最佳答案

使用URLDecoder.decode(url, "UTF-8"),您的所有网址都会正确解码。

然而,情况 1 和 3 的解码字符串包含代码点 263 和 273 的字符。
您很可能将这些字符串打印到控制台,该控制台无法打印代码点 > 255 的字符,并用 ? 替换这些字符。

关于java - UTF-8解码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32785033/

相关文章:

使用 UTF8 编码将 Excel 转换为 CSV

c - C 中的 UTF-16 到 UTF-8

javascript - 如何在Javascript中显示阿拉伯语?

java - Android数据库插入语句中用双引号替换单引号

java - 让一个字符串代表一个数组

php - Mac和Windows上传文件名编码不同的问题

java - Java 和 PHP 之间的 Base64_encode 不同

php - 如何修复 laravel Seed 中的 UTF8?

java - 使用 mvvm 时如何在 zk 中更新进度表

java - 使用 java Runtime.getRunTime.exec() 的交互式命令