0

这是代码:

    var disqus_title="UnicodeDecodeError - ordinal not in range(128)";
    var disqus_identifier="cache\yazilar\python\unicode-decode-error-ordinal-not-in-range.html";
    var disqus_config = function () {
        this.language = "tr";
    };

Chrome的调试工具提示disqus_identifier行有语法错误,但是我找不到。我在所有页面中都使用相同的代码,只有这一个会出错。

4

4 回答 4

2

您需要将字符串常量中的反斜杠加倍。

var disqus_identifier="cache\\yazilar\\python\\unicode-decode-error-ordinal-not-in-range.html";

确保您确实需要这些反斜杠而不是正斜杠字符可能是一个好主意。如果您将路径传递回您的服务器并且您的服务器将盲目地使用它,那可能是一个相当讨厌的安全问题。

于 2013-10-21T19:11:16.300 回答
2

反斜杠\是 javascript 中的转义字符。如果您想在字符串中使用反斜杠,则必须使用另一个反斜杠对其进行转义。

var disqus_identifier="cache\\yazilar\\python\\unicode-decode-error-ordinal-not-in-range.html";
于 2013-10-21T19:11:36.197 回答
1

\u表示 Unicode 转义。它后面必须跟 4 个十六进制字符。

您可能应该将您的\字符替换为\\(用于表示\数据的转义序列)或(因为您所拥有的看起来像一个相对 URI)/改为使用。

于 2013-10-21T19:11:40.020 回答
0

var disqus_identifier="cache\yazilar\python\unicode-decode-error-ordinal-not-in-range.html";

单反斜杠混淆脚本编译器。

于 2013-10-21T19:13:49.550 回答