- ベストアンサー
Baseからのデータエクスポート方法と文字化けの対処法
- Baseからのデータエクスポート方法と文字化けの対処法を解説します。
- Baseから新しいCalcシートにテーブルをコピーし、任意のファイル形式にデータをエクスポートできます。
- エクスポートする際に文字化けが発生する場合は、文字コードの設定を確認してください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- himajinTest
- ベストアンサー率47% (8/17)
すみません、自分の手順は、Calcで「形式を指定して貼り付け」→「HTML(HyperText Markup Language)」を選択したときの挙動でした。 実際に「貼り付け」のみを行うと、クリップボードに登録された形式のうち、RTFの方が優先度が高いようでやはり文字化けします。とはいえ、面倒なのでコードがどうなっているのかは調べていないものの、俺の勘では異なる二箇所のコードなれど、原因はだいたい似たようなものなんだろうな、と推測しています。 #あれ、投稿したつもりだったのだけれど投稿ボタンと確認ボタン誤解しただろうか?
お礼
回答ありがとうございました。
- himajinTest
- ベストアンサー率47% (8/17)
バグで、エンドユーザーには、あまり手のとりようがないかもね… https://github.com/LibreOffice/core/blob/e57ca02849c3d87142ff5ff9099a212e72b8139c/dbaccess/source/ui/misc/TokenWriter.cxx#L690 実引数が4つしかないから、head要素内のmeta要素のencoding指定としては、 https://github.com/LibreOffice/core/blob/dcc92a7cb5aa1faa711c8da7f7d8ecee0a192c25/include/sfx2/frmhtmlw.hxx#L56 RTL_TEXTENCODING_MS_1252が利用される。 一方、エクスポート先のHTML文書自体の文字符号化方式は [ツール] - [オプション] 左側ツリー[読み込みと保存]-[HTML互換性] 右側[文字エンコーディング]の指定に基づくと思われる。文書中の文字でこの文字符号化方式がサポートする文字集合で表現可能な場合で、その文字をここで指定した文字符号化方式でエンコードしたバイト列がその文字の部分に出力、文字集合に含まれていなかった場合は、数値文字参照を使う。他に文字実体参照を使うケースがちらほらある。 https://github.com/LibreOffice/core/blob/5c2894222beed4b30c6be0379cade228c42c5610/svtools/source/svhtml/htmlout.cxx#L402 https://github.com/LibreOffice/core/blob/5c2894222beed4b30c6be0379cade228c42c5610/svtools/source/svhtml/htmlout.cxx#L453 だからクリップボードにコピー内容として登録される内容が 「2つの矛盾する情報を含む誤ったHTML」だから、この現象が発生する。 非常に納得行かない手段だが、上記[HTML互換性]の[文字エンコーディング]で、化ける文字が含まれないような符号化方式を指定してあげれば、それらは数値文字参照で表現されるから文字化けしない。
お礼
回答ありがとうございました。
お礼
回答ありがとうございました。