gpt4 book ai didi

java - HttpURLConnection 输出流汉字

转载 作者:行者123 更新时间:2023-12-01 15:30:10 24 4
gpt4 key购买 nike

我使用 HttpUrlConnection 在 json 之外发布,但似乎中文字符正在更改为 ??????我尝试使用不同的编码风格,如 utf-16、big 5,但我无法理解导致此问题的原因。当我调试这个时,我可以在发布之前看到中文字符,但是当发布时,它会改变,为什么? 代码部分如下

        String postData,String charset) throws MalformedURLException, IOException{
URL url = new URL(targetUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection(
Proxy.NO_PROXY);
connection.setConnectTimeout(postTimeout);
connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type",
contentType+"; charset="+charset);//+charset.getName().toUpperCase());//+charset.getName());



sleep(sleepTime);
OutputStream os = connection.getOutputStream();
//"UnicodeBigUnmarked"
//
// byte[] bt= postData.getBytes();
// System.out.println(bt);
// os.write(bt);
// System.out.println();
// os.flush();
//System.out.println(postData);
try
{
Writer writer = new OutputStreamWriter(os, charset);
writer.write(postData);
writer.flush();
writer.close();
} catch (IOException e) {
logger.severe("Http POST exception");

} finally {
if (os != null) {
os.close();
}
}



int responseCode = connection.getResponseCode();

connection.disconnect();

return responseCode;

我尝试使用big5,utf-16,但仍然没有变化。

谢谢。

最佳答案

我相信你应该在 JSon 中使用 unicode ascii-safe 表示,如解释 here

关于java - HttpURLConnection 输出流汉字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9630450/

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