サクラエディタでJavaScriptの構文チェック その3 と同じように、ファイルの読み込みを ADODB.Stream に変更して UTF-8 に対応してみます。
まずコマンドラインオプションを処理している箇所に文字コードを追加します。
8222行目からのここを
if (argName.indexOf("rules=") > -1){ options.rules = argName.substring(argName.indexOf("=") + 1); } else if (argName.indexOf("format=") > -1) { options.format = argName.substring(argName.indexOf("=") + 1); }こんなかんじに。
if (argName.indexOf("rules=") > -1){ options.rules = argName.substring(argName.indexOf("=") + 1); } else if (argName.indexOf("format=") > -1) { options.format = argName.substring(argName.indexOf("=") + 1); } else if (argName.indexOf("charset=") > -1) { options.charset = argName.substring(argName.indexOf("=") + 1); }
次に、ファイルを読み込む箇所に、文字コードを追加してあげます。
8222行目からのここを
var input = api.readFile(relativeFilePath),
こうする。
var input = api.readFile(relativeFilePath, options.charset),
最後に、FileSystemObjectを使用している箇所をADODB.Streamに変更します。
8444行目からのここを
readFile: function(path){ var forReading = 1; var tf = fso.OpenTextFile(path, forReading); var allText = tf.ReadAll(); tf.Close(); return allText; }こうする。
readFile: function(path, charset){ var stream = new ActiveXObject('ADODB.Stream'); stream.type = 2; stream.charset = charset || '_autodetect_all'; stream.open(); stream.loadFromFile(path); var allText = stream.ReadText(); stream.close(); return allText; }UTF-8でも文字化けしなくて便利♪
0 件のコメント:
コメントを投稿