販売管理、会計、給与、顧客管理などの社内システムや、取引先の指定フォーマット。
WebやSaaSからダウンロードしたCSVをこれらのシステムへ取り込もうとすると、「Shift_JIS(cp932)で取り込んでください」と言われる場面が今でもよくあります。
ここで問題になるのが、人名や地名に含まれる旧字体・異体字、環境依存の記号です。
- 「髙橋」さんの「髙」(はしご高)
- 「山﨑」さんの「﨑」(立つ崎)
- 「濵田」さんの「濵」(まゆ浜)
- 「㈱」や「①」などの丸数字・囲み文字
これらが含まれるCSVを一般的なツールでそのままShift_JISに変換すると、文字が勝手に ? に化けたり、消えてしまったりします。
その結果、基幹システムへのインポート時にエラーで弾かれたり、最悪の場合は名前が ? になったまま取り込まれて顧客への失礼につながったりします。
この「文字コード変換による文字化けや勝手な文字欠落」を事前に防ぎ、**何がどう変わったかを確認してから保存できるWindowsアプリ「MojiSafe Converter」**を作りました。
フォワードデプロイドエンジニア(FDE)として、小規模店舗や個人事業主、スタッフの皆さんの意見を聞きながら、作ったのでかなり使えるものになったと思います。
完全無料のオープンソース(MITライセンス)で公開しています。
よくある困りごとと、このアプリでできること
現場でよくある悩みに対して、以下のような形で対応できます。
1. 人名の異体字を、安全な標準文字に寄せたい
髙 → 高、﨑 → 崎、濵 → 浜、邊/邉 → 辺 などのよく使われる異体字は、標準の辞書ルールにあらかじめ登録されています。
文字を欠落させることなく、Shift_JISでも正しく扱える文字へ置き換えます。
2. 変換できない未知の文字を「勝手に消されたくない」
どうしても出力先の文字コードで表現できない文字(絵文字や特殊な外字など)が出た場合、通常の一括変換だと黙って消えたり ? になったりします。
このアプリでは、フォールバックモードとして [U+XXXX](Unicode表記) を選べます。
文字が消えずにコードポイントの文字列として残るため、後からエディタで検索して「どの文字だったのか」を確実に特定・対処できます。
3. 保存する前に「どの行が変わったか」を目で確かめたい
いきなり変換後のファイルを書き出すのではなく、画面上に差分ビュー(Diff)と変換ログを表示します。
「何行目のどの文字が、どの文字に置き換わったか」を一覧で確認し、納得した上で保存できます。
4. Excelファイル(.xlsx)のシートを直接読み込みたい
CSVだけでなく、Excel(.xlsx)ファイルもそのままドラッグ&ドロップできます。
シートを選べば、直接Shift_JISのCSVへ変換処理を行えます。一度Excelで開いてCSV保存し直す手間が省けます。
実際に動かしてみる手順
ステップ1:ファイルを読み込む
アプリを起動し、変換したいCSV、テキストファイル、または .xlsx ファイルを入力欄にドラッグ&ドロップします。
出力ファイル名は自動的に _converted.csv などの名前がセットされます(変更も可能です)。
ステップ2:文字コードと処理方法を選ぶ
-
入力文字コード:通常は
UTF-8。不明な場合は「自動判定」ボタンを押すと推定してくれます。 -
出力文字コード:取り込み先システムに合わせて
shift_jisまたはcp932を選びます。 -
未対応文字処理:推奨は
[U+XXXX]です。
ステップ3:「プレビュー」で確認する
ここが一番のポイントです。いきなり「実行」を押さず、まず「プレビュー」を押します。
画面下のタブに、以下の情報が表示されます。
| タブ | 確認できる内容 |
|---|---|
| 差分ビュー | 変換前と変換後のテキスト比較。変更箇所が色付けされます。 |
| 置換ログ | 置換が発生した行番号、元の文字、置換後の文字、適用されたルール名。 |
| 未対応文字一覧 | 出力文字コードで表現できず、フォールバックされた文字と出現回数。 |
もし未対応文字一覧に想定外の文字が出ていた場合は、その場で辞書ルールを追加して対応することもできます。
ステップ4:結果に納得したら「実行」を押す
確認して問題がなければ「実行」を押します。
変換後のファイルが出力先に保存されます。元ファイルが上書きされることはありません。
辞書ルールは自社のルールに合わせて育てられる
会社や業務によって、「この記号はこう置き換えたい」「この異体字はこの漢字に統一する」というルールが決まっている場合があります。
MojiSafe Converter の「ルール編集」画面では、置換ルールを自由に追加・編集できます。
ルール追加による「意図しない壊れ」を防ぐテスト機能
辞書ルールをたくさん追加していくと、「ある文字のために足したルールのせいで、別の単語の変換がおかしくなった」というトラブルが起きがちです。
そのため、ルール編集画面にはシミュレーターとテスト機能を付けています。
- 「テストケース」にあらかじめ確認したい文字列を登録しておく。
- ルールを変更した後に「全件再検証」を押す。
- 以前の期待結果と違う箇所があれば、文字単位で差分が表示される。
これによって、安心して自社専用の変換辞書を育てていくことができます。
コマンドライン(CLI)でのバッチ処理にも対応
GUIでの目視確認が基本ですが、日次・週次で決まったフォルダのCSVを定期処理したい場合のために、コンソール版のCLIツール(MojiSafeConverter.Cli.exe)も付属しています。
# 1ファイルの変換
MojiSafeConverter.Cli.exe convert "input.csv" "output.csv" --input-encoding utf-8 --output-encoding shift_jis
# ファイル保存をせず、未対応文字がないか診断だけ行う
MojiSafeConverter.Cli.exe check "input.csv" --input-encoding utf-8 --output-encoding shift_jis
# フォルダ内のCSVを一括変換
MojiSafeConverter.Cli.exe batch "C:\input" "C:\output" --input-encoding utf-8 --output-encoding shift_jis
タスクスケジューラやPowerShellスクリプトに組み込んで、自動実行させることも可能です。
使う準備
Windows 10 / 11 の環境で、インストール作業不要(ZIPを展開するだけ)で動きます。
- GitHub Releases から最新のZIPファイルをダウンロードします。
- ZIPを適当なフォルダに展開します。
-
MojiSafe Converter.exeをダブルクリックして起動します。
レガシーシステムへのデータ連携や、CSVの文字化け・人名異体字の扱いに頭を悩ませている現場で、お役に立てれば幸いです。


