プロが教えるわが家の防犯対策術!

こんばんわ。
息詰ってしまったので質問をさせていただきます。

無理矢理な書き方をしているのがいけないのか
PHPからXMLファイルへ書き出しをすると改行として認識されず文字として認識されてしまいます。
どのたかご存じの方がいましたらアドバイスをお願いします!


■index.php(UTF-8、LF)
//書き出しに関してのスクリプトです。
$xmlfile="xml/samplexml.xml(xmlファイルまでのパスとxmlファイル名)";

//xmlに書き出しデータ作成
$xmldata = "<xmldata><データ>データだよ</データ><果物>いちご</果物><野菜>キュウリ</野菜></xmldata>";
$fp = @fopen($xmlfile , "a") or err_msg("XMLが開けません。");
flock($fp , LOCK_EX);
fputs($fp , $xmldata . "\n");
flock($fp , LOCK_UN);
fclose($fp);

■samplexml.xml(UTF-8、LF)
<?xml version="1.0" encoding="UTF-8"?>
<xmldata><データ>データだよ0</データ><果物>ばなな</果物><野菜>キャベツ</野菜></xmldata>
※ここに改行をさせてデータを追加したい。。

上のスクリプトの結果は改行されずに「\n」も文字として改行されずに追加されてしまう。(「\n\r」「\r」でもテストをしてみたのですが結果は同じでした。)

A 回答 (1件)

#xD#xA



上記でいかがですか?

この回答への補足

NickAomoriさま

アドバイスありがとうございます。
今しがた、自己解決しました。

解決方法は、
テキストエディター「mi」を使用しているので
「モードPHPの設定」「文字コード」の一番上「Unicode保存...」にチェックを入れたらきちんとバックスラッシュを認識しました。

NickAomoriさま本当にありがとうございました。

補足日時:2007/05/25 12:24
    • good
    • 0

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