我正在编写一个HTTP服务器,为了测试混淆了什么,我在文本字段中输入了ઔஇ。。客户请求是
GET /add_text_data?message=%E0%AA%94%E0%AE%87%E1%86%96&category=log&color=black HTTP/1.1
Host: localhost
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
当我使用URLDecodeer.decode("%E0%AA%94%E0%AE%87%E1%86%96", "UTF-8")
时,我得到???
。我该如何解决这个问题?
答案 0 :(得分:1)
事实证明,这实际上不是URLDecoder的问题,而是使用OutputStream。 URLDecodeer.decode("%E0%AA%94%E0%AE%87%E1%86%96", "UTF-8").equals("ઔஇᆖ")
实际上是真的。我只需要将Eclipse设置为接受UTF-8输出。 This question为我修好了。
答案 1 :(得分:0)
看起来UTF-8无法处理它。
您可以在此处测试解码,以查看您必须使用哪种解码。
http://encoder.mattiasgeniar.be/index.php
确保将结果存储在某种可以接受unicode的数据类型中。