jQuery" Uncaught URIError:URI格式错误"表情符号出错

时间:2016-07-15 06:24:24

标签: javascript php jquery html

我使用以下JavaScript代码,除了情感之外几乎可以使用所有内容。我一直收到以下错误。

  

未捕获URIError:URI格式错误

如果我将dr.Rows的值从a_msg更改为其他内容,则可行!请注意,在实践中我会从""收集这些值,因此我无法控制输入的字符的编码,因为它通常依赖于(虚拟)键盘使用

textarea

我的PHP代码也很简单。

var a_name = "my name";
var a_msg = "";
$.post("myphp.php", { name: a_name, msg: a_msg });

网页使用UTF-8字符集。

$name = $_POST["name"];
$msg = $_POST["msg"];

到目前为止,我已尝试过(基于论坛上发布的类似问题),

    JavaScript中的
  1. <meta charset="UTF-8"> encodeURIt()encodeURIComponent()``decodeURIComponent()
  2. 如果原始文字不包含&#34;%&#34;,,则
  3. decodeURI()有效 PHP中的
  4. escape()
  5. HTML中的
  6. utf8_encode()
  7. 但没有运气或任何其他。

    我做错了什么?我怎样才能解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

它可以帮助你。我试着重现这个问题。这是我的解决方案:

的index.html:

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Titel der Seite</title>
    <script src="jquery-3.1.0.min.js"></script>
  </head>
  <body>
  <script>
    var a_name = "my name";
    var a_msg = "";
    $.post("myphp.php", { name: a_name, msg: a_msg});
  </script>
  </body>
</html>

myphp.php:

<?php

$name = $_POST["name"];
$msg = iconv('UTF-8', 'UTF-8', $_POST["msg"]);

echo $msg;
?>

默认情况下,我的文件采用UTF-8编码(编码时的Notepad ++ - &gt; UTF-8编码)。