Songmuさんは書きました:
お返事ありがとうございます。utf8のファイルを「BOM無し」にしていたのですが、jseeファイルを「BOM付き」に
したところ、きちんと表示されました。ありがとうございました。ちなみに、PerlScriptで同様に、BOM付きのutf8で記述したマクロを動かしましたが、
アウトプットバーには、sjisにEncodeしないと表示されませんでした。PerlScriptの話になってしまい恐縮ですが、何か原因がお分かりになれば
お知らせくだされば幸いです。下記にサンプルコードを記します。たびたびすみません。
#language=”PerlScript”
use Encode;
$Window->document->{‘Encoding’} = 65001;
$Window->OutputBar->Clear();
$Window->OutputBar->{‘Visible’} = 1;#japanese String(utf8)
my $str = “x{65e5}x{672c}x{8a9e}x{6587}x{5b57}x{5217}”;#need encode to Shift_JIS
#Without this line, character corruption will occur.
$str = encode(‘sjis’,$str);
$Window->OutputBar->write($str);
マクロの OutputBar オブジェトの write メソッドの引数は、Unicode 文字列であることが前提になっています。write メソッドに限らず、 EmEditor のマクロは、基本的に JavaScript と VBScript で書かれているため、文字列はすべて Unicode が前提になります。したがって、変数の文字コードが Unicode 以外の場合については、正しく動作しないと思います。すべて Unicode で指定していただけると幸いです。