サクラエディタで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 件のコメント:
コメントを投稿