Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么IE可以';是否无法正确显示我的HttpHandler web应用程序中的特殊符号?_Javascript_Java_Jquery_Httpserver - Fatal编程技术网

Javascript 为什么IE可以';是否无法正确显示我的HttpHandler web应用程序中的特殊符号?

Javascript 为什么IE可以';是否无法正确显示我的HttpHandler web应用程序中的特殊符号?,javascript,java,jquery,httpserver,Javascript,Java,Jquery,Httpserver,我有一个使用Java HttpServer、jQuery/html的web应用程序,它处理特殊符号,如:♤ ♠ ♧ 该应用程序在Firefox和Chrome中运行良好,但当我使用IE时,它显示的符号为: 我的jQuery代码如下所示: $(document).on('click','#Save',function() { var buttonData=''; $('button[id^=\"Current_\"]').each(function() { buttonData+=$(thi

我有一个使用Java HttpServer、jQuery/html的web应用程序,它处理特殊符号,如:♤ ♠ ♧

该应用程序在Firefox和Chrome中运行良好,但当我使用IE时,它显示的符号为:

我的jQuery代码如下所示:

$(document).on('click','#Save',function()
{
  var buttonData='';
  $('button[id^=\"Current_\"]').each(function() { buttonData+=$(this).text()+' ' });
  $.get('My_App?New_Data='+buttonData,function(responseText)
  {
    $('#Save_div').html(responseText);
  });
});
      public void handle(HttpExchange exchange)
      {
        OutputStream responseBody=exchange.getResponseBody();
        String requestMethod=exchange.getRequestMethod(),requestPath=exchange.getRequestURI().getPath(),New_Data;
        LinkedHashMap<String,String> params=queryToMap(exchange.getRequestURI().getRawQuery());

        try
        {
          New_Data=(params.get("New_Data")==null?null:URLDecoder.decode(params.get("New_Data"),"utf-8"));
          Headers responseHeaders=exchange.getResponseHeaders();
          responseHeaders.set("Content-Type","text/html;charset=utf-8");
          exchange.sendResponseHeaders(200,0);
          responseText=New_Data;
          responseBody.write(responseText.getBytes());
        }
...
我的
HttpHandler
如下所示:

$(document).on('click','#Save',function()
{
  var buttonData='';
  $('button[id^=\"Current_\"]').each(function() { buttonData+=$(this).text()+' ' });
  $.get('My_App?New_Data='+buttonData,function(responseText)
  {
    $('#Save_div').html(responseText);
  });
});
      public void handle(HttpExchange exchange)
      {
        OutputStream responseBody=exchange.getResponseBody();
        String requestMethod=exchange.getRequestMethod(),requestPath=exchange.getRequestURI().getPath(),New_Data;
        LinkedHashMap<String,String> params=queryToMap(exchange.getRequestURI().getRawQuery());

        try
        {
          New_Data=(params.get("New_Data")==null?null:URLDecoder.decode(params.get("New_Data"),"utf-8"));
          Headers responseHeaders=exchange.getResponseHeaders();
          responseHeaders.set("Content-Type","text/html;charset=utf-8");
          exchange.sendResponseHeaders(200,0);
          responseText=New_Data;
          responseBody.write(responseText.getBytes());
        }
...
公共无效句柄(HttpExchange)
{
OutputStream responseBody=exchange.getResponseBody();
字符串requestMethod=exchange.getRequestMethod(),requestPath=exchange.getRequestURI().getPath(),新数据;
LinkedHashMap参数=queryToMap(exchange.getRequestURI().getRawQuery());
尝试
{
New_Data=(params.get(“New_Data”)==null?null:urldecker.decode(params.get(“New_Data”),“utf-8”);
Headers responseHeaders=exchange.getResponseHeaders();
set(“内容类型”,“text/html;charset=utf-8”);
交换.发送响应负责人(200,0);
responseText=新的_数据;
write(responseText.getBytes());
}
...
我该怎么做才能让IE像其他两个浏览器一样显示特殊符号


编辑:我的IE版本是:11.0.96

经过一些研究,我找到了答案


使用encodeURIComponent()使用特殊符号对文本进行编码,然后将其发送到服务器,效果与预期一样。

我们讨论的是哪个版本的IE?看起来像是Unicode问题。您是否将
添加到
的顶部?不,这不是原因。此外,响应头覆盖元标记。元标记仅在未通过HTTP读取HTML时使用但是,例如,通过
文件从本地磁盘文件系统://
。我正在使用:import com.sun.net.httpserver.*;来实现一个web服务器,所以我说servlet,它的功能类似于一个,这是否意味着我的实现有问题?它不是一个servlet。要了解servlet真正的用途