
おせわになります。
Shift-JISで記述したPerlで、ファイル出力をしようとしています。
------------------------------------
#!/usr/local/bin/perl
use encoding 'shiftjis';
$hoge="ほげ"
open(OUT,">file.txt")
binmode OUT;
print OUT $hoge;
close(OUT);
------------------------------------
希望はUTF8での出力なのですが、UTF8Nで出力されてしまいます。
どのようにすればいいのかご教授よろしくお願いします。
No.1ベストアンサー
- 回答日時:
binmode OUT をしないのなら
#!/usr/bin/perl
use strict;
use encoding 'shiftjis';
my $hoge = 'ほげ';
open OUT, '>:encoding(utf8)', 'file.txt' or die $!;
my $bom = "\x{feff}"; #BOM
print OUT $bom;
print OUT $hoge, "\n";
close OUT;
で警告なしにBOMをつけてファイルを作れます。
どうしても binmodeをする必要があるのなら
#!/usr/bin/perl
use strict;
use encoding 'shiftjis';
my $hoge = 'ほげ';
open OUT, '>', 'file.txt' or die $!;
binmode OUT;
my $bom = "\x{feff}"; #BOM
utf8::encode($bom);
print OUT $bom;
utf8::encode($hoge);
print OUT $hoge, "\n";
close OUT;
こんなところですか?
#utf-8フラグは良くわからん
さっそくのご回答ありがとうございます。
おかげさまでひとつめの方法で無事解決することができました。
なぜそうなるのかはいまいち理解してませんが、おかげで助かりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perl cgiの文字化けを直したい ...
-
JavaでCSVファイルを高速に読む...
-
MATLAB グローバル変数の宣言
-
正規表現で、特定のファイル名...
-
ディレクトリ内のtxtファイル中...
-
batファイルでrenameができませ...
-
ファイルのロックについて
-
openした後、closeしないでプロ...
-
Edge スクレイピング
-
エクセルVBA コードが同じでも...
-
パスから最後のディレクトリだ...
-
【Access2003】VBAでタブ区切り...
-
エディットボックスの表示方法...
-
file_exists関数について
-
perlで複数のファイルの処理に...
-
perlをデスクトップのショート...
-
【C++/CLI】ファイルオープンに...
-
Windowsで複数のファイルを同じ...
-
VBAでCSVファイルを途中行まで...
-
powerpointでwebページとして保...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perl cgiの文字化けを直したい ...
-
vimでのutf8の取扱について
-
perl5.8.3のunicode環境で日本...
-
ファイル出力をUTF8Nではなくて...
-
csv2wiki.plのエンコーディング...
-
utf-8での日本語正規表現の書き方
-
<STDIN>とARGVとの振る舞いの違...
-
[Perl]Shift-JISのXMLを解析する場
-
Perl出力をUTF-8に指定する方法
-
Perl UTF8で出力
-
HTTP::Request::Common qw(POST...
-
[perl5.8] SJISで出力したはず...
-
perlをwindows環境でshift-jis...
-
Perlの文字コードを意識したフ...
-
Perl utf8上でshiftjisをデコード
-
does not map to shiftjis は解...
-
文字を一文字ずつ区切りたい
-
初心者で、困っています。(文...
-
perlの自作ライブラリについて
-
複数種類の括弧でくくられてな...
おすすめ情報