dポイントプレゼントキャンペーン実施中!

Ajaxで送信したデータを元にCGI(Perl)でTXTファイルを書き換えると、
どうしても文字化けしてしまいます。
内容はこんな感じです。無駄な部分は省きました
*************************
#!/usr/local/bin/perl

print "Content-type: text/html; charset=Shift_JIS\n\n";
use CGI;
$n = $q->param("name");
$data = "$nさん、こんにちは";
open(F,"> data.txt");
flock(F,2);
print F $data;
flock(F,8);
close(F);
end;
*************************
$n(フォームのデータ)は文字化けしないのですが、
「さん、こんにちは」の部分が文字化けしてしまいます。
詳しい方、ご教授願います。

A 回答 (2件)

ANSI=Shift_JISです。


ANSI(≒ASCII)に日本語文字を追加したのがShift_JISです。
なのでWindowsのメモ帳などではANSIという名でShift_JISを保存します。
原因は他の所にありそうです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
別に原因を探してみます。

お礼日時:2008/10/21 07:22

スクリプトの文字コードはちゃんとSJISですか?

    • good
    • 0
この回答へのお礼

確認したところ、「ANSI」でした。
「Shift-JIS」で保存しようとしたところ、
「名前を付けて保存(A)...」をクリックして、文字コードを選択するところは、
「ANSI」「Unicode」「Unicode big endian」「UTF-8」しかありませんでした。
どうすればいいのでしょうか?

お礼日時:2008/10/18 19:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!