【发布时间】:2011-02-27 06:16:42
【问题描述】:
每当我在我的 javascript 源代码中使用 \u2028 字符文字并将内容类型设置为“text/html; charset=utf-8”时,我都会收到一个 javascript 解析错误。
例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>json</title>
<script type="text/javascript" charset="utf-8">
var string = '
';
</script>
</head>
<body>
</body>
</html>
如果<meta http-equiv> 被忽略,一切都会按预期进行。我在 Safari 和 Firefox 上测试过,都出现了同样的问题。
关于为什么会发生这种情况以及如何正确解决这个问题(不删除编码)的任何想法?
编辑: 经过一番研究,具体问题是问题字符是使用 JSONP 返回的。然后浏览器将其解释为 u2028 作为换行符,并引发有关字符串中无效换行符的错误。
【问题讨论】:
-
你从哪里得到解析错误?
-
在线与
var string = ' ';
标签: javascript unicode