JSLint “Caractère dangereux”

J’utilisais volontiers JSLint de Douglas Crockford sur Mac OS X et mon code passait, mais après avoir eu un serveur Ubuntu Hardy Slicehost et téléchargé mon code, le JSLint ne passe plus lorsque j’essaie de l’exécuter sur le serveur. Il échoue sur mes fichiers localisés contenant des trémas.

Je reçois des erreurs comme:

Lint at line 1206 character 25: Unsafe character. "PREVIOUS" : "zur??ck", Lint at line 1207 character 26: Unsafe character. "NEXTPAGE" : "vorw??rts", 

Le fichier n’a pas changé, j’ai vérifié le hash MD5 et les deux sont identiques. Voici comment je lance JSLint à partir de mon script de déploiement:

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

Des idées? Qu’est-ce qui pourrait être différent? J’ai vérifié l’environnement (env / set) et la seule référence aux jeux de caractères / encodages était “LC_CTYPE = UTF-8”. J’ai essayé de le régler pour qu’il soit le même mais cela semblait n’avoir aucun effet.

Pour votre question, cela peut être lié à des “caractères dangereux”. Voir la documentation de JsLint

Il y a des caractères qui sont gérés de manière incohérente dans les navigateurs et doivent donc être échappés lorsqu’ils sont placés dans des chaînes.

Je suis confronté à un problème similaire, même s’il semble que le repère de nomenclature au début du fichier empêche JsLint d’aller plus loin.

Il y a un correctif ici pour un port java de JsLint qui résout ce problème.