
この記事の目次
中国語の CSV を開いて文字化けしたら、まず未変更の原本を残してください。ファイルの文字データ自体は正しくても、Excel が違う文字コードで解釈している場合があります。文字化けした状態で原本を上書きすると、復元が難しくなります。
CSV に保存されるのは文字と区切り文字です。ファイル名だけでは文字コードを確実に判別できず、Excel ブックと同じワークシートの書式も保持しません。バイト列を正しく読むことと、表のコードや日付を保つことは、別々の確認事項です。
保存時の文字コードを選ぶ
現在のテキスト交換では UTF-8 が広く使われています。中国大陸の古いシステムからの出力には GBK などの中国語文字コードが、繁体字のファイルの一部には Big5 が使われます。ただし、繁体字らしい語句だけで Big5 と判断はできません。Unicode のファイルは簡体字も繁体字も含められます。
可能なら送信者に出力時の文字コードを確認します。不明な場合は候補を切り替えてプレビューし、実際の単語、珍しい人名、句読点を調べます。エラーなくデコードできても、選んだ文字コードが正しい証拠にはなりません。
Excel の取り込みプレビューを使う
ダブルクリックだけに頼らず、Excel のテキストまたは CSV の取り込み機能を使います。現行のデスクトップ版では、通常「データ」タブからテキスト/CSV の取り込みに進めます。元の文字コードと区切り文字を選び、プレビューを確認してから表を読み込みます。メニュー名はバージョンや表示言語で異なる場合があります。
UTF-8 のバイト順マークである BOM は、ファイルを直接開く際に Excel が UTF-8 を認識する助けになります。ファイル先頭の文字コード識別用データであり、最初の列名の一部ではありません。後続システムが BOM なしの UTF-8 を求める場合もあるため、次のアプリに合わせて出力を選びます。
読めるプレビューを UTF-8 に変換する
- 5 MB 以下のコピーを中国語ファイル文字コード変換ツールで開きます。
- 実際の元の文字コードを選び、プレビューを読みます。
- 見出し行だけでなく、中国語の人名や説明を複数確認します。
- 受け取るアプリに合わせて BOM の有無を選び、UTF-8 で出力します。
- 出力ファイルを開き直し、代表的な行を元の内容と比較します。
拡張子を変更したり BOM を付けたりしても、GBK のバイト列が UTF-8 になるわけではありません。変換では、まず元の文字コードで文字を正しく読み取り、その文字を出力先の形式で符号化する必要があります。
先頭のゼロと長いコードを守る
中国語が正しく表示されても、Excel がコードを数値や日付と解釈する場合があります。該当列は取り込み時に文字列に設定してください。識別子としての 001234 は6文字のまま保持すべきで、1234 にすると情報が失われます。
全角と半角の違いも、取り込み後の照合に影響します。一方のファイルが A123、もう一方が A123 なら、その項目を意図的に全角・半角変換できます。ただし文字コードの問題は直らず、文章全体に無差別に適用するものでもありません。
よくある三つの症状を分ける
| 見えている症状 | 最初に確認する点 |
|---|---|
| 中国語の名前が無関係な記号になる | 元の文字コード |
| 文字は読めるが、一つの長い列になる | 区切り文字と引用符の扱い |
001234 が 1234 になる | 列のデータ型 |
これらは同時に起きても、原因は異なります。コンマを想定した取り込みでセミコロン区切りのファイルを開く場合、UTF-8 を選ぶだけでは正しく列に分かれません。区切り文字を選んでも、誤ってデコードされた漢字は直りません。列を文字列にすると識別子を守れますが、元の文字コードは判別できません。
プレビューは、文字が読めるか、項目の境界が正しいか、列の型が適切か、の順に確認します。中国語、先頭がゼロのコード、句読点を含む項目がある行を使ってください。ASCII のアルファベットだけの見出し行は複数の文字コードで正常に見えるため、本文全体の確認には不十分です。
小さな比較用サンプルを残す
説明用のテストファイルには、名前、コード、備考の三項目を使えます。名前を 李明、コードを 001234、備考を短い中国語の文にします。これは実在の顧客記録ではなくテスト内容です。期待する文字をファイルと一緒に残し、取り込みや出力のたびに同じ値を比較します。
項目に区切り文字や改行が含まれる場合、CSV を生成する側で引用符を正しく付ける必要があります。引用符で囲んだセルにも改行を含められるため、テキストの行数は必ずしもデータの行数と一致しません。見た目の行数がもっともらしいだけで完全と判断せず、実際に解析された行と列を比較してください。
UTF-8 への変換後は、UTF-8 を明示指定して新しいファイルを開き直し、サンプル値を確認します。その後、実際の受け取り先アプリでも取り込みを試します。文字コードが正しくても、区切り文字や列の順序がその処理に合わない場合があります。
次の用途に合わせて出力を選ぶ
BOM 付き UTF-8 は、一部の Excel の直接開く手順で文字コード認識に役立ちます。一方、別の取り込み先では BOM なしの UTF-8 を求める場合があります。どちらかが常に優れているわけではありません。次のアプリが指定する形式を使い、同じ代表行で試してください。
BOM は、出力前に誤って読み取られた文字を修復しません。プレビューの時点で文字がおかしければ、保存する前に元の文字コードの選択を直します。誤った文字に UTF-8 の識別情報を付けても、内容が誤った新しいファイルができるだけです。
数式、複数のシート、セルの書式、複雑な表の構造を残す必要があるなら、CSV はブックの代わりになりません。必要な機能がある場合は作業用のブックを保管し、特定のデータ受け渡し用に CSV を出力します。文字変換の成功と、表計算の全機能の保持は区別してください。
失われた情報を見分ける
保存済みのファイルで漢字が置換文字や通常の疑問符に変わっている場合、文字コードを変えても戻らないことがあります。未変更の原本に戻るか、再出力を依頼してください。変換ツールは存在するバイト列を解釈し直せますが、上書きされて残っていない文字は再構成できません。
コメント
読み込み中…
コメントはまだありません。