文字コード
基本的な意味と Web の標準ルール
コンピュータが文字をデータとして正しく扱うための規格・符号化方式です。
現在の Web サイトでは「UTF-8」が事実上の世界標準となっており、HTML内でも <meta charset="UTF-8"> と指定します。一方で、日本国内の古いシステムや Windows の基本環境では「Shift_JIS」、古い UNIX 系サーバーでは「EUC-JP」といったレガシーな日本語文字コードがまだ生き残っています。
実務における設計の鉄則
押さえておきたいのは「新規構築時は、フロントエンドからデータベースまで『すべて UTF-8 で統一』が絶対原則」だということです。複数の文字コードがシステム内に混在すると、データ変換の過程で「文字化け」や致命的な「データ破損」が起きます。古い基幹システムと連携するどうしても避けられない場面でのみ、境界線で変換処理を挟むのが安全な設計です。
Web 担当者が陥りやすい落とし穴とリアルな対策(NG 事例)
① CSV アップロード時の文字化け(Shift_JIS の罠)
最も陥りやすいのが、社内にある古い顧客リスト(Shift_JIS の CSV や Excel ファイル)を、そのまま Web システム(UTF-8)に一括アップロードして全データが文字化けする事故です。データ取り込み機能を作る際は、「システム側で Shift_JIS を自動変換するのか、運用者が事前に UTF-8 に変換してからアップするのか」という運用ルールを最初に制作側と握っておく必要があります。
② Excel で開いた瞬間に文字化けするクレーム(BOM 問題)
逆に、Web システムから顧客データを「UTF-8 の CSV」としてダウンロードし、それを Windows の Excel でダブルクリックして開くと、高確率で文字化けします(Excel が勝手に Shift_JIS として読み込むため)。これを防ぐため、開発要件に「ダウンロードする CSV は、Excel が文字コードを判別できる『BOM(ボム)付きの UTF-8』で出力する」と指定しておくと、無用なクレームを完全に防げます。
③ スマホ時代の「絵文字」によるデータ破損
ユーザーがお問い合わせフォーム(メールフォーム)等に「スマホの絵文字(🍣など)」や「特殊な漢字」を入力した際、データベース側が古い UTF-8 設定のままだと、その文字以降のデータが切り捨てられたり「???」とバグったりします。要件定義で「絵文字も保存できる設定(utf8mb4 等)にしておいてください」と一言添えるだけで、プロのディレクターとして一目置かれます。
言葉をよく利用する人
- コーダー / フロントエンドエンジニア
- バックエンドエンジニア
- Web 担当者(発注側)
- 情シス
会話上での使用例
CSV インポートで文字化けしたとプロデューサーから相談された場面
-
プロデューサー
CSV を取り込んだら文字化けしちゃったんだけど、どうすれば。
-
Web 担当者
それは 文字コード の問題ですね。元の CSV がおそらく Shift_JIS なので、UTF-8 に変換してから取り込み直せば直るはずです。
新規サイトの文字コード仕様をコーダーに確認される場面
-
コーダー
新規サイト、文字コードの指定はどうしましょう。
-
Web 担当者
文字コード は UTF-8 で統一でお願いします。HTML も CSS も JS もデータベースも、全部そろえておけば後で文字化けに悩まされずに済みます。