仕様と根拠
NFKC とは
Unicode の正規化形式 NFKC は、互換分解(見た目や書式の違いだけで同じ文字とみなせるものを基本の文字へ分解)した後に、正準合成でまとめる処理です。半角カナと全角カナが同じ並びになり、合字の fi は f と i に、上付きの 5 は書式が外れて 5 になります(UAX #15 の 1.2 節)。列名を NFKC でそろえると、全角半角などの表記の揺れで別の列と扱われるのを防げます。
このツールが行う処理
列名ごとに、NFKC への変換、前後の空白の除去、連続する空白を 1 つにまとめる処理の順に適用します。選択すれば英字の小文字化と空白の _ への置き換えも行います。変更のあった列名は、どの処理で変わったかを対応表に示します。
指摘する内容
NFKC は書式や意味の違いを消すため、UAX #15 は任意の文章へ無差別に適用しないよう注意しています。上付き・下付き文字、丸数字、単位の合字、分数などを含む列名は、変更後が意図どおりか確かめるよう警告します。標準化後に同じ綴りになる列名と、空になる列名も指摘します。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| Unicode Standard Annex #15 Unicode Normalization Forms(Revision 58・2026-08-12・Unicode 18.0.0) | 2026年10月29日 | NFKC(互換分解の後に正準合成)・1.2 節の例(半角全角カナ・fi 合字・上付き文字)・NFKC を無差別に適用しない注意 |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 列名の意味(単位が同じか、同じ項目か)は判定しません。文字の表記を機械的にそろえるだけです。
- 引用符で囲んだ列名の中のカンマは区切りとして扱います。区切り文字を含む列名は「1 行に 1 列名」で貼り付けてください。
- NFKC では上付き・下付き文字や丸数字の書式が失われます。単位(m² など)を含む列名は変換後を必ず確認してください。
- このツールは列名だけを変換し、データ本体の値は変換しません。
ご利用にあたって
- NFKC への変換は元に戻せません。元の CSV は別に保存してから使ってください。
- このツールは Unicode の正規化規則にもとづく表記の整理です。取り込み先のシステムが列名に独自の規則を持つ場合は、その仕様も確認してください。