gpt4 book ai didi

java - 带有中文字符的无效 URI (Java)

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:02:02 25 4
gpt4 key购买 nike

在 URL 中设置带有中文字符的 URL 连接时遇到问题。它适用于拉丁字符:

String xstr = "维也纳恩斯特哈佩尔球场" ;
URI uri = new URI("http","ajax.googleapis.com","/ajax/services/language/detect","v=1.0&q="+xstr,null);
URL url = uri.toURL();
URLConnection connection = url.openConnection();
InputStream is = connection.getInputStream() ;

getInputStream() 调用的结果是:

java.lang.IllegalArgumentException: Invalid uri 'http://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q=???????????': Invalid query

最佳答案

问题是由于 URI.toURL() 没有对非 ASCII 字符进行百分号编码。请改用以下内容:

URL url = new URL(uri.toASCIIString());  

关于java - 带有中文字符的无效 URI (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4831301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com