我想从servlet使用阿拉伯数据发送HTTPServletResponse
到客户端
我正在尝试这个
response.setCharacterEncoding("UTF-8");
response.setHeader("Info", arabicWord);
我收到这样的词
String arabicWord = response.getHeader("Info");
在客户端(接收)也尝试了这个
byte[]d = response.getHeader("Info").getBytes("UTF-8");
arabicWord = new String(d);
但是似乎没有unicode,因为我收到奇怪的英语单词,所以请问我如何发送和接收阿拉伯utf8单词?
HTTP标头不支持UTF-8。他们仅正式支持ISO-8859-1。另请参阅RFC 2616
第2节:
仅当按照RFC 2047 [14]的规则进行编码时,* TEXT的单词才能包含ISO-8859-1 [22]以外的字符集中的字符。
最好的选择是对它们进行URL编码和解码。
response.setHeader("Info", URLEncoder.encode(arabicWord, "UTF-8"));
和
String arabicWord = URLDecoder.decode(response.getHeader("Info"), "UTF-8");
URL编码会将它们转换为完全有效的ISO-8859-1 %nn
格式。请注意,标头中发送的数据可能有大小限制。而是以纯文本,JSON,CSV或XML格式在响应正文中发送。以这种方式使用自定义HTTP标头即是设计气味。
我们正在从JBoss4.x迁移到5.1,字符编码出现了问题。 我尝试过,但没有成功: 在jboss/bin/run.bat中,设置set“java_opts=-dfile.encoding=utf-8%java_opts%” 在jboss/server//deploy/jbossweb.sar/server.xml设置中
问题内容: Express.JS提供了一些静态页面。设置很简单: 我希望响应包含一个附加的http标头( Access-Control-Allow-Origin:* )。应该放在哪里?我尝试了以下示例,但是标题仅出现在默认页面上: 谢谢。 问题答案: 我尝试了以下示例,但标题仅出现在默认页面上 是的,这是因为您仅为路由而不是其他路径定义了它。您应该改为使用中间件。 如果您希望为所有请求设置标题:
这是我的密码: 这里是网络调试: 数据存储在请求有效载荷中,但在我的服务器中没有收到POST值: 我相信这个错误来自于帖子中没有设置标题,我做错了什么?
如何在nodejs中发送文件,我正在创建一个页面应用程序,所以我只想abcd.html页面首次按要求交付,这是我的代码 app.js 对页面的响应 发送后,它总是给出无法设置的标题,下面是控制台输出 错误:SendStream禁止。SendStream出错(/home/pitu/CODING/NODE-PROJECTS/chichat/NODE\u modules/express/NODE\u m
尝试在中发送数组。我创建了一个HTTP Interceptor用于请求响应处理。我的文件如下,我有发送头作为对其工作在这些代码中。但是我想用对象数组发送它。 我想在单个数组中发送所有对象 如何在单个数组中传递多个对象?
问题内容: 我不确定如何发送HTTP Auth标头。 我有以下HttpClient来获取请求,但不确定如何发送请求? 问题答案: HttpClient 文档及其示例代码中对此进行了介绍。