さて、ここにさらに別の文字エンコードの質問があります。これは、Unicodeのすべてについての私の無知を示しています。
Microsoft Excel.xls
ファイルからデータを読み取り、ESRIシェープファイルに保存しています.shp
。Excelのバージョンが5.0を超える場合、ExcelファイルのテキストはUnicodeとして保存されます。ただし、Unicode(および特にUTF-8
シェープファイルのサポートには一貫性がないため、まったく使用しないでください。ただし、シェープファイルは古い学校のコードページをサポートしています。
Unicode文字列を未知であるが特定のコードページの文字列に変換する必要がある状況でのベストプラクティスは何ですか?
私が理解しているように、Unicode文字列には複数の「コードページ」の文字を含めることができます。したがって、使用する「最適な」コードページを何らかの方法で見積もり、サポートされていないすべての文字をそのコードページ(または恐ろしい?
)で最も近いものに変換する必要があると思います。これは通常のアプローチですか?
私は間違いなくシステムコードページ以上のものを使うことができます。.shp
ファイルはファイルを使用して属性データを格納するため.dbf
、少なくとも.dbf
フォーマットで指定されたすべてのコードページがサポートされている必要があります(xBaseフォーマットの説明を参照)。サポート されているコードページ は次DOS USA
のとおりです。、、、、、、、、、、、、、、、、、、、、DOS Multilingual,
Windows ANSI,
Standard Macintosh
_ EE MS-DOS
_ Nordic MS-DOS
_Russian MS-DOS
Icelandic MS-DOS
Kamenicky (Czech) MS-DOS
Mazovia (Polish) MS-DOS
Greek MS-DOS (437G)
Turkish MS-DOS
Russian Macintosh
Eastern European Macintosh
Greek Macintosh
Windows EE
Russian Windows
Turkish Windows
Greek Windows
さらに、一部のアプリケーションは、使用する*.cpg
追加のコードページを指定するファイルの使用をサポートしています(ただし、のサポートは理解しておりutf-8
、他の多くのコードページは制限されていると思います)。
私は汎用ツールを開発しようとしているので、.xls
ファイル内のUnicodeの内容については何も想定できません。