这是我的代码,它工作正常,但它只显示十六进制:
<!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。
答案 0 :(得分:2)
\u0C39
不是 HTML实体。 HTML实体在HTML上下文中使用,看起来像&...;
。 U+0C39 character (హ)的有效HTML实体包括హ
(十进制)和హ
(十六进制)。
\u0C39
是JavaScript Unicode escape sequence,与HTML无关。格式正好是\u
加上表示Unicode代码点的四位十六进制数字。期。您可能尝试的任何其他格式都不存在。
P.S。 \u3129
代表U+3129 (ㄩ)。
答案 1 :(得分:1)
来自评论 - 这不再与所述问题有任何关系。建议更新问题以匹配您的实际问题。
我在文本框中有文字(హైదరాబాద్)我输入了前往服务器
హైదరాబాద్
的telugu语言字符
听起来您的网页没有指定的编码即可投放。因此,浏览器猜测用于显示它的编码,并且该编码可能不是UTF-8。
当浏览器提交表单时,它使用网页的编码。如果该编码不是UTF-8,因此不能包含Telugu字符,浏览器会发生恐慌并尝试发送编码为HTML字符引用的字符。这不是可恢复的编码,因为您无法判断字符引用是否应该表示Unicode字符,或者用户只是故意键入&#...;
。
要修复此问题,请确保在表单的HTML页面中包含Content-Type: text/html;charset=utf-8
HTTP标头,或在页面HTML中包含等效的<meta charset>
标记。