注文書係

受注データのCSVで①②③やローマ数字が文字化けする理由 — 機種依存文字を品目マスタに残さないために

公開:

FAX注文書から起こした受注データのCSVを基幹システムに取り込んだら、品名や取引先名の一部が「?」や見慣れない記号に化けていた——という経験はないでしょうか。文字コード(Shift_JIS/UTF-8)の不一致を疑って確認しても原因が見当たらない場合、疑うべきは機種依存文字です。

丸数字(①②③)やローマ数字(Ⅰ・Ⅱ・Ⅲ)、㈱・㈲のような合成文字は、手書きの注文書やFAXの走り書きに使われがちですが、CSV連携の場面では文字化けの原因になりやすいことが知られています。この記事では、機種依存文字がなぜ文字化けするのか、受注データのどこに紛れ込みやすいか、そして品目マスタ・取引先マスタでどう予防しておくかを整理します。

機種依存文字とは何か

機種依存文字(環境依存文字)は、パソコンの機種やOS、アプリケーションの実装によって、同じ文字コードでも異なる文字に変換されたり、正しく表示されなかったりする文字のことです。メール配信サービスblastmailの解説記事では、代表例として次のような文字が挙げられています。

  • 丸数字: ①②③…⑳
  • ローマ数字: Ⅰ Ⅱ Ⅲ…Ⅹ
  • 単位記号・合成文字: ㈱ ㈲ ℡ ㎡ ㎏
  • 半角カタカナ

これらはWindows・Mac間や、アプリケーション・システムの実装差によって、送信側の環境では正しく見えていても受信側では「?」や別の記号に変換されてしまうことがあります。ハンモックのCSV文字化け解説記事でも、機種依存文字がCSVの文字化け・取込エラーの原因の一つとして挙げられており、CSV連携では使用を避けるのが定石とされています。

なぜ受注データに紛れ込みやすいのか

機種依存文字は、次のような場面で受注データに入り込みやすい傾向があります。

  • 取引先が手書きの注文書に「①番の商品を3ケース」のように丸数字で商品を指定してくる
  • FAXの走り書きで、株式会社を略して「㈱」と書いてくる
  • 型番・規格の一部にローマ数字(「タイプⅡ」「Ⅲ型」など)を使っている取引先がある

AI-OCRや手入力でこれらをそのまま読み取って品目マスタ・取引先マスタに登録してしまうと、その文字を含むレコードは以後の受注のたびにCSV連携で文字化けのリスクを抱え続けることになります。一度マスタに紛れ込むと、気づかないまま何度も同じ症状を繰り返しやすいのが厄介な点です。

文字コードを合わせても解決しない理由

CSVの文字化けというと、まずShift_JIS(CP932)とUTF-8の不一致を疑うのが定石です(文字コードの基本的な対処は基幹システムへのCSV取込でよくあるエラーと対処法で扱っています)。しかし機種依存文字の場合、文字コードを正しく合わせても解決しないことがある点に注意が必要です。

機種依存文字の多くは、そもそも変換先の文字コード体系に対応する文字が存在しなかったり、複数の環境で異なる文字に割り当てられていたりします。そのため「Shift_JISで統一したのに①が化ける」「UTF-8にしたのに㈱が消える」といった、文字コードの選択だけでは説明のつかない症状が起きます。文字コードの一致を確認してもなお特定の文字だけが化ける場合は、機種依存文字を疑う価値があります。

症状から原因を切り分ける

症状疑う原因
得意先名・品名の大部分が読めない記号の羅列になる文字コード(Shift_JIS/UTF-8)の不一致
特定の文字(①や㈱など)だけが「?」や別の記号に化ける機種依存文字の混入
Shift_JIS/UTF-8どちらに揃えても同じ文字だけ化け続ける機種依存文字の混入(文字コードの問題ではない)
取込エラー自体は出ないのに、後から名寄せ・検索がヒットしない機種依存文字によって表記が微妙に異なる別レコード扱いになっている

最後の症状は見落とされがちです。文字化けでエラーが出るわけではないため取込は成功しますが、同じ取引先のはずが機種依存文字の扱いの違いで別の名称として登録され、後から検索・集計がずれる原因になります。

対処: マスタの正式表記を機種依存文字を含まない形に統一する

機種依存文字対策は、「化けたら都度置換する」という対症療法ではなく、品目マスタ・取引先マスタの正式表記そのものを機種依存文字を含まない形に決めておく予防設計が基本です。

  • 丸数字は使わず、「1)」「(1)」のような表記に統一する
  • ローマ数字は使わず、半角の「I」「II」またはアラビア数字に置き換える
  • 「㈱」は使わず、「(株)」または正式名称のまま登録する
  • 半角カタカナは使わず、全角カタカナで統一する

取引先からの注文書に機種依存文字が使われていても、マスタ側の正式表記さえ機種依存文字を含まない形になっていれば、その注文はマスタの正式表記に紐づけて処理できます。「取引先がどう書いてくるか」は変えられませんが、「自社のマスタにどう登録するか」は自社で決められる部分です。ここを予防的に統一しておくことで、CSV連携のたびに文字化けを心配する必要がなくなります。

日付(和暦/西暦)・単位(ケース/箱)・全角半角・0落ちといった、機種依存文字以外の表記ゆれの正規化については「表記ゆれ」— 日付(和暦/西暦)・単位(ケース/箱)・全角半角・0落ちの正規化で扱っています。

まとめ

  1. 丸数字・ローマ数字・㈱のような合成文字・半角カタカナは機種依存文字であり、CSV連携で文字化けしやすい
  2. 文字コード(Shift_JIS/UTF-8)を正しく合わせても、機種依存文字が原因の文字化けは解決しないことがある
  3. 対症療法(化けたら都度置換)ではなく、品目マスタ・取引先マスタの正式表記を機種依存文字を含まない形にあらかじめ統一しておくのが予防策になる
  4. エラーが出ない場合でも、機種依存文字の表記違いで同じ取引先が別レコード扱いになっていないか、名寄せの観点でも確認しておく

手前味噌の紹介

この記事を書いているのは、注文書特化サービス注文書係(ちゅうもんしょがかり)の運営者です。FAX・手書きの注文書をアップロードするとAIが下書きを作り、担当者は自信のない項目だけを確認して確定します。転記にかかる時間を1/10程度に圧縮することを狙ったサービスです。

品目マスタ・取引先マスタは事前に正式表記を登録しておく仕組みのため、取引先が注文書に丸数字や㈱を使っていても、マスタ側の正式表記に一致させてCSVへ出力できます。文字コード(Shift_JIS/UTF-8)も取込先の形式に合わせて一度登録すれば、次回から自動で同じ形式で出力されます。

無料トライアル(30枚または14日間、クレジットカード登録不要)で、実際にお使いの帳票との相性を確かめてみてください。

よくある質問

Q. 受注データのCSVで①②③(丸数字)やローマ数字が文字化けするのはなぜですか?
丸数字・ローマ数字・㈱のような合成文字・半角カタカナは「機種依存文字」と呼ばれ、パソコンの機種やOS、アプリケーションの実装によって同じ文字コードでも異なる文字に変換されたり、正しく表示されなかったりします。手書きの注文書やFAXの走り書きで使われがちなため、AI-OCRや手入力でそのまま品目マスタ・取引先マスタに登録してしまうと、CSV連携のたびに文字化けのリスクを抱えることになります。
Q. 文字コードをShift_JISに合わせても文字化けが直らないのはなぜですか?
機種依存文字の多くは、そもそも変換先の文字コード体系に対応する文字が存在しなかったり、複数の環境で異なる文字に割り当てられていたりします。そのため文字コード(Shift_JIS/UTF-8)を正しく合わせても、機種依存文字が原因の文字化けだけは解決しないことがあります。文字コードを合わせてもなお特定の文字だけが化ける場合は、機種依存文字の混入を疑う価値があります。
Q. 機種依存文字への対処はどうすればいいですか?
化けるたびに都度置換するのではなく、品目マスタ・取引先マスタの正式表記そのものを機種依存文字を含まない形にあらかじめ統一しておくのが基本です。丸数字は「1)」のような表記に、ローマ数字は半角のI・IIやアラビア数字に、㈱は「(株)」に、半角カタカナは全角カタカナに置き換えて登録します。取引先の書き方は変えられなくても、自社マスタの登録ルールは自社で決められます。
Q. 取込エラーが出ていないのに機種依存文字を疑うべき場合はありますか?
はい。機種依存文字は取込エラーを起こさない場合でも、表記の違いによって同じ取引先が別のレコードとして登録されてしまうことがあります。取込は成功しているのに後から名寄せ・検索がヒットしないという症状が出た場合は、機種依存文字による表記違いが原因になっていないか確認する価値があります。

← コラム一覧へ戻る