2015/8/16 (日) 21:41:30 返信 削除
[594] Unicodeファイル名をSJIS化したいのですが

Windows8.1pro 64bit
サクラエディタ2.2.0.1

人様のスクリプトを切り張りして何とか使っています。

UTF8文章で、SJISに存在しない文字を置換する処理を作りたいのですが
うまくいきません

マクロのJSファイルもターゲットのファイルもUTF8で保存しています。
一番下のROCK => RocK はちゃんと置換できているので、
処理そのものが動いていないということはないはずなんですが…
どなたかよろしくお願いします。

// Unicode2SJIS.js
function Unicode2SJIS(){
  var str = Editor.GetSelectedString(0);
  str = str.replace( /♥/g,   "(ハート)" );
// ↑は掲示板で文字化けするようです
// ♥はサクラのステータスバーではU+2665の文字(ハート記号)となっています
  str = str.replace( /〜/g,   "〜" );
// こちらも元はU+301Cです
  str = str.replace( /ROCK/g,   "RocK" );
  Editor.InsText( str );
}
Unicode2SJIS();

もも
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0


2015/8/17 (月) 22:21:21 返信 削除
[595] Re:Unicodeファイル名をSJIS化したいのですが

たぶん違うとは思いますが念のため。
マクロをUTF8で保存するとき、BOMをつけていますか?
BOMをつけないとSJISマクロとして実行されて思ったように処理されません。
またSJISでマクロを書いて"\u2665"のようにJScriptでUnicodeエスケープすることもできます。
ななし
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36


2015/8/18 (火) 20:58:54 返信 削除
[596] Re2:Unicodeファイル名をSJIS化したいのですが

▼ ななしさん
ありがとうございます!!
大当たりでした。
UTF8でBOMいるとは…
追加のエスケープ表記も確認しました。

てっきりJSの仕様だと思って諦めていたので
非常に助かりました!!


返信書いてて送信押し忘れてたみたい…
ホントに申し訳ありません〜
もも
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81