XMLでのファイル保存時に文字化けが起こる原因とは?

このQ&Aのポイント
  • XMLファイルの保存時に文字化けが発生してしまう問題が起こっています。質問者はXML文書にフォームからの入力を追加する機能を実装する際に、テキストファイルを読み込み文字列として変数に代入し、それを組み合わせてXML文書として保存していますが、保存したファイルを見ると読み込んだテキスト部分の日本語が文字化けしており、ファイルが正しく使用できません。
  • XMLファイルの文字化け問題は、おそらくテキストファイルを読み込む際のエンコーディングの問題が原因と考えられます。テキストファイルのエンコーディングが正しく指定されていない場合、日本語の文字が正しく扱われず文字化けが発生します。
  • 解決するためには、テキストファイルを読み込む際に正しいエンコーディングを指定する必要があります。具体的には、テキストファイルのエンコーディングがUTF-8であることを確認し、そのエンコーディングでファイルを読み込むようにします。その際、プログラム上でエンコーディングを指定する方法を使用することが重要です。
回答を見る
  • ベストアンサー

文字化けが起こります

皆さんこんばんは。 8月にXMLについて勉強をし始めた者です。 XMLに関しては横浜ベイキットのXiを使うと良い、 と勧められてXiを勉強し、当初の予定だった検索エンジンは出来る事が出来ました。 今回は、xml文書の要素に、フォームから入力された文字列を、新たに追加するような機能を追加したい考えています。 そこで、あるXML構造の階層が書かれているテキストファイルを読み込み、それを文字列としてwordという変数に代入します。 そしてその文字列と、入力された文字列とを組み合わせて、Xi上でXML文書の形で、saveXmlで保存します。 しかし、保存し作成したファイルをみてみると、 読み込んだテキストファイルの部分の日本語が文字化けしてしまい、ファイルとして使用できなくなってしまいます。 この文字化けの原因が分かる方いましたら、 ぜひご教授のほどよろしくお願いします。

  • XML
  • 回答数1
  • ありがとう数0

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

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

xmlはunicodeで書いてますか? そして保存したファイルを見ているソフトはunicodeを見ることができますか?

IP_Sugar
質問者

補足

まずは返事が遅れましたことをお詫びいたします。 すみませんでした。 XMLは一部日本語を使用してるため、Shift_JISを使っています。 保存したXMLを確認するソフトとしてはTerapadと言うソフトを使っています。そこではUnicodeもみることができました。 よろしくお願いいたします。

関連するQ&A

  • テキスト文書が文字化けしています。

    ウィンドウズ98を使っているのですが、テキスト文書と書かれたアイコンをクリックして得たメモ帳のテキストファイルが文字化けしてしまっていて、新たに文字を入力してエンターキーを押すとやはり文字化けしてしまいます。どうしたら良いでしょうか。

  • 文字化け

    文字化けしたテキストを誤って保存してしまうと正しい文字コードを使ってデコードしても元の文字列が表示できないのは何故ですか?分かる方おられたら教えて欲しいです。

  • onedriveで編集したテキストが文字化けします

    onedriveにあるテキストファイルをandroidとwindows10(バージョンは1909)で同期して使っているのですが、 androidのQuickEditというアプリで編集すると発現条件はわからないのですが、ただ日本語を追加するだけで文字化けしてしまいます。 文字化けしないテキストファイルをwindows側から標準のメモ帳で開いてから保存しようとすると保存形式がUTF-8となっているのに対して文字化けしてるテキストファイルだとANSIとなっています。 このことからUTF-8で保存されてるファイルをwindowsのメモ帳がANSIとして読み込んでるのではないかと思っているのですが原因がわかりません。 androidのテキストエディタを変えて試そうといろいろインストールしてみたのですが、onedriveのファイルの読み込み書き込み出来るものが見つからず試せませんでした。 onedriveで使える別のテキストエディタアプリや、文字化けの原因、対策方法などご存じの方いらしたら教えてくださるとうれしいです。 どうぞよろしくお願いいたします。

  • データ移行時の文字化け

    テキストファイルに保存していたログデータをPostgreSQLデータベース(文字コード:SQL_ASCII)に保存すると、文字化けが発生します。 移行処理でのSQL文字列の段階では問題ないのですが、実際に保存されたデータは文字化けした内容になっています。(「\」がついた状態) stripslashes関数を使ってみましたが、SQL文字列の段階で文字化けしてしまい、そのまま登録されてしまいます。 どなたかご回答よろしくお願いします。

    • 締切済み
    • PHP
  • ワードの文字化け

    ワード98で作成し保存した文書が次に開くと文字化けしています。何か直す方法はありませんか。 文字化けしていないファイルもあります。 (同じパソコンで、自分で作った資料です)

  • Perl:ファイル名だけ文字化けする

    Perlをいじって2日の者です。 WindowsVistaを使っております。 現在renameを使ってファイル名を変更しようとしています。 現在のファイル名がIDだけで、 Web上にあるそのIDに対応する情報をファイル名に追加しようとしています。 Web上の情報を取得するまではできたのですが、 変数に入れたその情報を、ファイル名に入れようとすると文字化けします。 ただ、その情報をコマンドプロントで扱う時も、テキストへ出力してみても文字化けしません。 文字化けは、文字コードなるものが原因らしいということで、 とりあえずよく見かける「UTF-8」というものにエンコードしてみたところ、 テキストへの出力が、ファイル名へのそれと同様に文字化けしました。 エンコードした上でファイル名に入れようとすると 情報のそのものがないものとして扱われるようになりました。 これはどう解釈すればいいのでしょうか? どうすれば文字化けを解決できるでしょうか?

    • ベストアンサー
    • Perl
  • 文字化けを直すには

    現在、文字列で名前を検索してデータファイルを 開いてその名前のデータを表示するというのを作っているのですが、 名前が文字化けしてしまい困っています。 名前はスカラー変数に入ってて、    print "<tr><td>$name</td></tr>"; こんな感じで表示しているんですけど、 $nameに特定の文字がはいっていると    特性の文字・td></tr> このように文字化けみたいなことがおきてしまいます。 どうすれば回避できるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • 「~」だけ 文字化けする。

    PHP初心者です。 フォームから入力された文字をテキストファイルに保存して、その保存されたテキストファイルを別ページで表示しています。 簡単なメモ帳みたいな感じです。 フォーム画面と入力完了画面は EUC-JPで、 表示している画面はUTF-8です。 表示画面で <ul> <?php $file = "hoge.txt"; $txt = file($file); foreach ($txt as $value){ $value = mb_convert_encoding($value,"utf-8"); echo "<li>".$value."</li>"; } ?> </ul> と記述しています。 全ての文字化けを確認したはけではないのですが、記述内容の 「~」の文字だけ変な文字になっています。 ここに貼り付けても上手く表示されてないのですが「〜」となっています。 何か原因分かる方おられましたら、アドバイスお願いします。

    • ベストアンサー
    • PHP
  • Winのxmllintで文字化けを解消するには?

    お世話になります。 Windows7 Pro 32bit SP1上の、 DOSコマンドプロンプト上で、 xmllint -noout -valid test.xml を実行した際、 test.xml内で外部DTDファイルを指定しているところで エラーが発生していましたが、 その際のエラー表示が、 validity error: Content model of xx~(文字化け)~xx is not determinist: xx~(文字化け)~xx になっています。 外部DTDファイル、XMLファイルとも、 文字エンコードは、 UTF-8 です。 どうすれば、 「xx~(文字化け)~xx 」 部分を、正常な文字列として表示させることが 出来るでしょうか? なお、もしDOSプロンプト上から無理でしたら、 何かxmllint以外のツール等で、 外部DTDファイルとXMLファイルにおける Valid XML(妥当なXML)のチェックが 出来て、エラー行や内容などを、 正常な文字列として表示出来るツール等がございましたら、 教えてください。 以上になります。 よろしくお願いします。

    • ベストアンサー
    • XML
  • 文字化けしたファイル(テキスト形式)は元に戻したい

     ウィンドウズの「メモ帳」または「ワード」ソフトを使って、会議での議事録等をメモしています。  ワードを使って、「テキスト形式」で保存すると、「メモ帳」でも開けるため、便利に使っているのですが、保存の際に、文書の中に「緑」という文字があり、うまく保存できないと警告の確認画面がでました。  で、どこかの設定を変更して、保存したのですが、あとで「メモ帳」開くと全文書が文字化けしています。ワードで開いても同じです。 「!$B…」等の羅列です。  大事な会議録の内容で、聞きながらワード入力で、メモっておりましたので控えはありません。  保存したファイルは存在しておりますが、何とか復元ってできないでしょうか。  OSはWindows7、Wordは2007です。

専門家に質問してみよう