我正在尝试修改一些使用httpExchange对象来处理服务器对客户端响应的服务器代码.
我的问题是,对于包含iso-8859-1不支持的字符的响应,例如中文字符,我得到类似'????'的内容 代替人物.我想将响应的编码设置为utf-8,但到目前为止还没有成功.
我尝试添加这一行:
httpExchange.getResponseHeaders().put("charset", Arrays.asList("UTF-8"));
Run Code Online (Sandbox Code Playgroud)
这成功地在响应中放置了"charset"标题,但我仍然无法在响应中发送我想要的字符.
如何设置响应的编码以允许这些字符?
使用Content-Type标头指定编码.
String encoding = "UTF-8";
httpExchange.getResponseHeaders().set("Content-Type", "text/html; charset=" + encoding);
Writer out = new OutputStreamWriter(httpExchange.getResponseBody(), encoding));
out.write(something);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4500 次 |
| 最近记录: |