人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで簡体字をファイルに文字化けしないで書き出す方法を教えて下さい。

「擇?」と入力するおとブラウザには表示されるのですが書き出されるファイルでは
文字化けを起こしてしまいます。

PHP環境に依存せず実現できると助かります

PHPはUTF-8で保存しています。


<html lang="zh">
<head>
<title>test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<form method="POST" action="test.php">
<p>txt <input name="txt" type="text" /><input type="submit" name="button" id="button" value="sub" />
</form>
</body>
</html>


<?php
mb_internal_encoding("UTF-8");
if( $_SERVER['REQUEST_METHOD'] == "POST" ){

$txt = $_POST['txt'];
echo $txt;

$logfilename = "aaa.dat";
$fp = @fopen($logfilename, "w");
fputs($fp, "$txt");
fclose($fp);
}
?>

●質問者: akide
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:AAA DAT echo FP PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● amagami
●48ポイント

質問にあるHTMLとスクリプトをそのまま試してみましたが、特に文字化けなどせずにきちんとファイルにも書き出しされていました。

ところでaaa.datを開いているテキストエディタは何をお使いですか? 私はWZ Editorを使っているのですが、他のエディタでも文字コードを自動判定するような設定になっていると、それに失敗した時は見た目に化けてしまうと思います。

ちなみにPHP EditorではUTF-8になっていても化けて見えました。

◎質問者からの返答

さくらエディタ、XYZZYにてオープンした所文字化けしていました。

ブラウザで開き、エンコードを変えたところ文字化けせずに保存されていることを確認しました。

ご回答ありがとうございました。


2 ● pahoo
●48ポイント

ファイル "aaa.dat" には正しく書き出されているはずです。


何を使って "aaa.dat" を閲覧していますか? UTF-8のフルセットを表示できるツールでないと文字化けしてしまいます。

ブラウザを使って "aaa.dat" をオープンして、文字エンコードを UTF-8 に設定してやれば、文字化けせずに表示されると思います。

◎質問者からの返答

さくらエディタ、XYZZYにてオープンした所文字化けしていました。

ブラウザで開き、エンコードを変えたところ文字化けせずに保存されていることを確認しました。

エディタによってはUTF-8対応でもフルセットが表示出来ないものがある事がわかりました

ご回答ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ