• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォームからPOSTされた値をXMLへ書き込むプログラムなのですが、「)

フォームからPOSTされた値をXMLへ書き込むプログラムの問題

このQ&Aのポイント
  • 「あ」を入力するとなにも書き込まれません。1日調べても原因がわからず、解決策を教えていただけないでしょうか。
  • Windows2008サーバ、php5.3.2、IIS7.0を使用している環境で、フォームからPOSTされた値をXMLへ書き込むプログラムが正常に動作しない問題があります。
  • DOMDocumentクラスを使用してXMLへの書き込みを試みたが、文字コードの変換などの処理が必要ないか確認する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

XAMPPの5.2.3ですが、提示されているプログラムで正常に「あ」が書き込めるようです。 とりあえず確認事項として、 ・HTML(フォーム)は、SJISで記述されているか ・XMLファイルのヘッダには「<?xml version="1.0" encoding="utf-8"?>」が含まれているか(utf-8が重要) ・XMLファイルはUTF-8で記述されているか ・XMLファイルを作成時にBOM付にしていないか(これは微妙) ・$_POST['test']は$testtxtに挿入する前に何かエスケープ処理とかで文字を変えていないか(サンプル中のmb_convert_encoding以外に、という意味で、提示されているプログラムのほかの場所で。) といったあたりチェックしてみてください。

ik140_o
質問者

お礼

hogehoge78さんのおっしゃるとおりエスケープ処理でした。 エスケープ処理の文字が文字化けしていたことが原因です。 ファイルコピーした時におきかわってしまったのかもしれません。 書いてないところまで推測してもらってもうしわけないです。 ほんとうに助かりました。ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.2

>> 1 に同感。 とりあえず、文字コード。XML の宣言、ヘッダのメディアタイプの指定も。を確認してみてください。 PHP の DOM 君は文字コードが違っていてもそれなりに処理してくれるので。 >> documentElement->parentNode どうでもいいけど、ルートの親って何?

ik140_o
質問者

お礼

ご回答ありがとうございます。 >>PHP の DOM 君は文字コードが違っていてもそれなりに処理してくれるので。 そうなんですか、あまり知識がないもので参考になります。 >>どうでもいいけど、ルートの親って何? ごめんなさい間違えました。

すると、全ての回答が全文表示されます。