◀マクロトップへ
  • 594 Unicodeファイル名をSJIS化したいのですが
    • 595 Re:Unicodeファイル名をSJIS化したいのですが
      • 596 Re2:Unicodeファイル名をSJIS化したいのですが
  • [594] Unicodeファイル名をSJIS化したいのですが もも 2015年08月16日 21:41

    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();

    • [595] Re:Unicodeファイル名をSJIS化したいのですが ななし 2015年08月17日 22:21

      たぶん違うとは思いますが念のため。
      マクロをUTF8で保存するとき、BOMをつけていますか?
      BOMをつけないとSJISマクロとして実行されて思ったように処理されません。
      またSJISでマクロを書いて"\u2665"のようにJScriptでUnicodeエスケープすることもできます。
      • [596] Re2:Unicodeファイル名をSJIS化したいのですが もも 2015年08月18日 20:58

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

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


        返信書いてて送信押し忘れてたみたい…
        ホントに申し訳ありません~