我想在Android中将字符串编码为UTF-8。例如,这个字符串:
Grüne Ähren beißen Flöhe
to
Grüne Ãhren beiÃen Flöhe
但无论我做什么,我都将ü编码为ü或ü编码为%C3%BC(在线通常称为“原始URL编码”)。
找到了将其转换为byte[]或URI.toASCIIString()的解决方案。但是它们对我都不起作用。
更新
我正在参加eBay合作伙伴网络,并尝试将搜索词连接到我的合作伙伴网址。 eBay的人们必须使用错误的字符集,因为UTF-8 URL编码字符串不起作用。
UTF-8 URL编码的搜索词
(Grüne Ähren beißen Flöhe
变为
Gr%C3%BCne%20%C3%84hren%20bei%C3%9Fen%20Fl%C3%B6he)
在eBay搜索框中会得到这样的结果:
如果我使用ISO_8859_1编码我的搜索词,则可以正常工作(Grüne Ãhren beiÃen Flöhe):
非常感谢社区的支持
ö
转换成其2个字节表示形式(C3 B6),并且同样使用UTF-8将其转换回字符,那么它仍然是ö
。如果你使用UTF8将其转换为字节,但使用通常情况下不想使用的ISO-8859-1将其转换回来,你会得到你想要的ö
。 - f1sh