質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

3839閲覧

pythonでのxmlへの日本語文字列の入力が文字化けします

bun_

総合スコア1

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/01/13 15:38

編集2022/01/13 15:41

[番号①, 番号②, 説明①(日本語文字列), 日付, 説明②(日本語文字列)]という内容を含む以下のようなinfo_list_conditionというリストを以下のcreate_condition_xmlを利用して保存しようとしたところ, 日本語部分が「あああ」→""あああ""というように文字化けしてしまいます。
どのようにすれば改善できますか?

python

1info_list_condition=[[000, 1-1, あああ, 2000.09.26, いいい],[001, 1-2, ううう, 2000.09.25, いいい]]

python

1def create_condition_xml(info_list_condition, FCphotopath): 2 3 #xmlファイルを生成する 4 FieldConditionPhotos = ET.Element('FieldConditionPhotos') 5 6 for info in info_list_condition: 7 #要素の箱を作る 8 FCPhoto = ET.SubElement(FieldConditionPhotos, 'FCPhoto') 9 dia_no = ET.SubElement(FCPhoto, 'dia_no') 10 disctiption = ET.SubElement(FCPhoto, 'disctiption') 11 date = ET.SubElement(FCPhoto, 'date') 12 notes = ET.SubElement(FCPhoto, 'notes') 13 14 #要素を入れる 15 #属性として写真番号を入れる 16 FCPhoto.set('number', info[0]) 17 if info[1]=='': 18 info[1]='none' 19 dia_no.text = info[1] 20 if info[2]=='': 21 info[2]='none' 22 print(info[2]) 23 disctiption.text = info[2] 24 if info[3]=='': 25 info[3]='none' 26 date.text = info[3] 27 if info[4]=='': 28 info[4]='none' 29 notes.text =info[4] 30 31 tree=ET.ElementTree(FieldConditionPhotos) 32 with open (os.path.join(FCphotopath,'FCPhotos.xml'), "wb") as files: 33 tree.write(files) 34------

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2022/01/13 17:58

info_list_condition定義のコードはエラーになりませんか?
guest

回答1

0

xml.etree.ElementTree.write()encoding を指定します。

python

1 with open (os.path.join(FCphotopath,'FCPhotos.xml'), "wb") as files: 2 #tree.write(files) 3 tree.write(files, encoding='utf-8')

投稿2022/01/13 18:00

melian

総合スコア21187

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問