-1

这是我的代码,它工作正常,但它只显示十六进制:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
  <HEAD>
    <TITLE> New Document </TITLE>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <SCRIPT LANGUAGE="JavaScript">
      function myfun() {
        var a= document.getElementById('anils').value;
        document.getElementById('anils2').value = "\u0C39\u0C48";
      }
    </SCRIPT>
  </HEAD>
  <BODY>
    <INPUT TYPE="text" NAME="anil" id="anils" />
    <INPUT TYPE="text" NAME="anil2" id="anils2" />
    <INPUT TYPE="button" id = "anils1" onclick="myfun()" />
  </BODY>
</HTML>

\u0C39\u0C48 是十六进制,但等效的十进制 \u3129\u3144 未显示在我的浏览器中。

4

2 回答 2

2

\u0C39不是HTML实体。HTML 实体在 HTML 上下文中使用,看起来像&...;. U+0C39 字符 (హ)的有效 HTML 实体包括&#3129;(十进制) 和&#xc39;(十六进制)。

\u0C39是一个JavaScript Unicode 转义序列,与 HTML 无关。格式就是这样,\u加上一个代表 Unicode 代码点的四位十六进制数字。时期。您可能尝试的任何其他格式根本不存在。

PS\u3129代表U+3129 (ㄩ)

于 2013-06-12T14:17:00.423 回答
1

从评论 - 这不再与所述问题有关。建议更新问题以匹配您的实际问题。

我在文本框中有文本(హైదరాబాద్)我输入了转到服务器的泰卢固语字符&#3129;&#3144;&#3110;&#3120;&#3134;&#3116;&#3134;&#3110;&#3149;

听起来您的页面没有指定编码。因此,浏览器会猜测使用什么编码来显示它,并且该编码可能不是 UTF-8。

当浏览器提交表单时,它使用网页的编码。如果该编码不是 UTF-8,因此不能包含泰卢固语字符,浏览器会出现恐慌并尝试发送编码为 HTML 字符引用的字符。这不是可恢复的编码,因为您无法判断字符引用是否应该表示 Unicode 字符,或者用户只是故意键入&#...;.

要解决此问题,请确保Content-Type: text/html;charset=utf-8在表单的 HTML 页面中包含 HTTP 标头,或在页面 HTML 中包含等效<meta charset>标记。

于 2013-06-13T09:31:15.913 回答