5

Mac OSXでDouglasCrockfordのJSLintを使用していて、コードはパスしましたが、Ubuntu Hardy Slicehostサーバーを取得してそこにコードをアップロードした後、サーバーで実行しようとするとJSLintがパスしなくなりました。ウムラウトを含むローカライズされたファイルでは失敗します。

次のようなエラーが発生します:

Lint at line 1206 character 25: Unsafe character.
"PREVIOUS" : "zur??ck",

Lint at line 1207 character 26: Unsafe character.
"NEXTPAGE" : "vorw??rts",

ファイルは変更されていません。MD5ハッシュを確認しましたが、どちらも同じです。デプロイメントスクリプトからJSLintを実行する方法は次のとおりです。

def lint_ok(fn):
    return os.system("java org.mozilla.javascript.tools.shell.Main jslint/jslint.js %s" % fn) == 0

何か案は?何が違うのでしょうか?環境(env / set)を確認しましたが、文字セット/エンコーディングへの参照は「LC_CTYPE=UTF-8」のみでした。同じに設定してみましたが、効果がないようです。

4

1 に答える 1

3

あなたの質問では、これは「安全でない文字」に関連している可能性があります。JsLint のドキュメントを参照してください

ブラウザーで一貫して処理されない文字があり、文字列に配置する場合はエスケープする必要があります。

ファイルの先頭にある BOM マークが JsLint の進行を妨げているように見えますが、同様の問題が発生しています。

この問題に対処する JsLint の一部の Java ポートのバグ修正がここにあります。

于 2010-12-15T14:08:33.500 に答える