【问题标题】:Uncaught SyntaxError: Unexpected token ILLEGAL - when splitting up a fileUncaught SyntaxError: Unexpected token ILLEGAL - 拆分文件时
【发布时间】:2015-01-15 09:41:59
【问题描述】:

我有一个由 HMTL、Javascript 和 CSS 组成的大文件,我希望将其拆分以使其更易于管理。但是当我拆分 HTML 文件并将其另存为单独的 HTML、Javascript 和 CSS 文件时,我得到了错误:

Uncaught SyntaxError: Unexpected token ILLEGAL

当我点击错误时,它会将我带到浏览器中的文件,并且我的文件仅包含中文符号。

我试图找到答案,显然我的代码中有隐藏字符,但我要如何找到这些?

我可以做些什么来解决这个问题?

【问题讨论】:

  • 听起来您可能正在使用糟糕的文本编辑器。你在用什么?
  • 我复制的那个人用的是vim,但我现在用的是notepad++,把代码复制过来了,你知道我怎么能找到隐藏的字符吗?
  • 如果用Notepad++打开文件,点击顶部的Encoding菜单,会选择什么?
  • 无 BOM 的 UTF-8 编码
  • 完成。将其更改为:以 UTF-8 编码,一切正常。感谢您的回答:) 如果您想将其作为答案,请选择正确的答案:)

标签: javascript html css illegal-characters


【解决方案1】:

Mojibake 这样的情况可能发生在读取文件的程序无法确定文件使用的编码类型并错误地猜测编码时。可能是您的文件中某处潜伏着一个奇怪的字符,完全无法进行编码检测。

一些编码方案提供了一种通过使用BOM 来缓解此问题的方法,BOM 是文件开头的一个短标记,指示文件使用的编码类型。 BOM 有优点也有缺点,但一大优点是它们牢固地建立了文件的编码,因此加载文件的程序不必猜测编码是什么。听起来在您的文件中包含 BOM 可以解决您的问题。

有关编码的更多信息,请参阅:

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

【讨论】:

    猜你喜欢
    • 2012-11-20
    • 2012-01-30
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    • 2012-09-22
    • 1970-01-01
    相关资源
    最近更新 更多