住所データ、見た目は”-”ハイフォン実は?の問題
管理者用
宛名印刷のために、持ち込まれたデータで、処理中に字化けを起こす事があります。
その中に、”-”が ”?” になる問題がありました。この対応には、苦慮してました。
全部ダメと言う事はありません。ほんの一部分だけのデータにだけ発生します。
お客様は、どのようにデータを作っているのでしょうか?
色々な処から、住所データを集めていると思います。Winマシンや、マック、リナックス、ユニックス、大きな機関コンピュータなどのデータから、一つの宛名データをまとめるのでしょう。
その結果、ほんの一部のデータにのみ発生すると推測しますが、本当の所は不明です。
宛名印刷の中で、データの正規化の工程があります。例えば、宛名を縦書きにする場合、アラビア数字を漢数字に変換したるのです。このデータ変換は、エクセルVBAで簡単なスクリプトを組んで行っています。
”?”になるケースとして、JISには無い文字で発生する事をたびたび経験してます。従って ?になる ”-”ハイフォンも、無い文字なのでしょう。
見た目は、マイナスなのですが、微妙に違うようです。
始めの時は、徹底的にしらべました。ダンプまでして文字コードを探りました。
何とか、対応策まで出たので、そのコードまでは、忘れてしまいました。・・・・・・上手くいけば良い、こんなもんなのです。
この文字は、どうやってもVBAでは、取り扱う事が出来ませんでした。
コードを使って処理するスクリプトを試しましたが、ダメでした。
対応策ー1 データ処理後の結果を ”?” で検索して不具合個所を特定します。
実際には、スクリプトで、? を検索リスト化しています。
対応策ー2 問題のエクセルファイルの ”-”文字をコピーして、検索/置換え 機能を使って、一般の ”-” に置き換えます。
この文字をエクセルファイルのままコピー保存してます。
見た目は、横棒 (ファイフォンの変換スプリプト例) 結構あります。
Function mainasu(moji)
moji = Replace(moji, "ー", "ー")
moji = Replace(moji, "‐", "ー")
moji = Replace(moji, "-", "ー")
moji = Replace(moji, "―", "ー")
moji = Replace(moji, "-", "ー")
mainasu = moji
End Function
以上