私はJExcelライブラリを使用してスプレッドシートを読み取っています。スプレッドシートの各セルには、44言語(英語、ポルトガル語、フランス語、中国語など)のいずれかのローカライズ文字列が含まれている場合があります。今日私は、APIに使用されるはずのエンコーディングについては何も教えていません。それは中国のOKを扱うが、それは常にポルトガル語とドイツ語をねじ込む。どうにかして、デフォルトのエンコーディング(私の開発ボックスのMacRoman、プロダクションのUTF-8)は、Excelブックから取り出した文字列を正しく解釈できません。 JExcelがファイルの文字エンコーディングをどのように解釈しているかには問題があります。Excelスプレッドシートでの文字エンコーディング(およびそれをデコードするために使用するJava文字セット)
言われていること...
は、同じキャラクタ・セットでエンコードされたExcelブック内のすべての文字列はありますか?
ワークブックのメタデータはありますか?私はこの文字セットの内容を聞くことができます(まだ見つかりませんでした)。
jchardet(http://jchardet.sourceforge.net/)のようなものを使ってすべてのセルを実行すると、ブック全体の文字エンコーディングが可能になるでしょうか?最初の質問は「はい、与えられたワークブック内のすべての刺しゅうは同じ文字セットで符号化されています」)ですか?
多くの質問がありますので、時間がほとんどありません。
あなたは '.xls'ファイルを読んでいますか?または '.xlsx'ファイル? –
.xlsファイルです。 xlsxの答えは変わるのですか? –
'.xlsx'ファイルは本当に単なるXMLファイルであり、(私が_think_)は、ファイル全体に対して1つのエンコーディングしかないことを意味します。一方、 '.xls'はバイナリ形式であるため、各セルに独自の文字エンコーディングがあるかどうかはわかりません。 –