用語解説

URLエンコードとは?日本語や記号がURLで化ける理由

URLをコピーすると、日本語や一部の記号が %E3%81... のような文字列に変わっていて驚くことがあります。これはURLエンコードという変換が働いているためです。化けたのではなく、安全に送るための置き換えです。本記事でこの仕組みを基礎から整理します。

URLで使える文字には制限がある

URLは、もともと限られた範囲の文字(半角の英数字や一部の記号)で表すことを前提に作られています。そのため、日本語や空白、特定の記号はそのままでは安全に扱えません。

そこで、URLで直接扱えない文字を、扱える形に置き換える必要があります。この置き換えがURLエンコード(パーセントエンコーディング)です。化けて見える文字列は、実は正しく変換された姿です。

%付きの文字列のしくみ

URLエンコードでは、対象の文字を内部表現(バイト)に直し、それを % に続く二桁の十六進数で表します。たとえば半角スペースは %20 のように表されます。

日本語の一文字は複数のバイトで表されるため、%E3%81%82 のように % のかたまりが連なります。長い文字列に見えても、ルールに従って一文字ずつ置き換えられているだけです。

実務ではどこで関係する?

URLエンコードは言葉の意味だけ覚えても、HTML共有の判断にはつながりません。実務では「表示に関係する話か」「検索に関係する話か」「アクセス制限に関係する話か」を分けて考えると整理しやすくなります。

URLエンコードについて迷ったら、相手が安全に開けるか、検索に出してよいか、ブラウザや環境差で壊れないかを順番に確認します。用語理解は、その判断を早くするための道具として使います。手順が決まったら、HTML/ZIPをアップロードして共有URLを発行し、相手に確認してほしい観点と期限を添えて送ります。

  • 表示の話: HTML/CSS/JS、パス、ブラウザ互換性を確認する
  • 検索の話: noindex、canonical、sitemap、robots.txtの役割を分ける
  • 制限の話: URL共有、パスワード、メール認証、会社ドメイン認証を混同しない
  • 運用の話: 期限、差し替え、削除、共有メッセージまで決める

とくにパラメータで重要になる

URLエンコードが特に効いてくるのが、? 以降に続くクエリパラメータです。ここには検索語や設定値など、ユーザー由来の値が入ることが多く、日本語や記号が含まれがちです。

& や = といった記号は、パラメータの区切りとして特別な意味を持ちます。値の中にこれらをそのまま入れると区切りと誤解されるため、エンコードして本来の文字として渡す必要があります。エンコードを怠ると、値が途中で切れたり誤って解釈されたりします。

エンコードを正しく扱う手順

値をURLに組み込むときは、次の流れを意識すると安全です。手作業で組み立てる場面でも考え方は同じです。

  1. URLに入れたい値(検索語や名前など)を用意する
  2. その値に日本語・空白・記号が含まれるか確認する
  3. 含まれる場合は、その部分をURLエンコードして安全な形に変換する
  4. 変換した値を、パラメータの該当箇所に組み込む
  5. 受け取る側では、必要に応じて元の文字へ戻して(デコードして)扱う

化けているのではなく守られている

%付きの長い文字列は一見すると壊れたように見えますが、実際にはルールどおりに変換された安全な表現です。コピーした際にこの形になっていても、機能上の問題はありません。

むしろ、エンコードされていないURLに日本語や記号が直接含まれていると、環境によってはうまく開けないことがあります。化けて見える状態こそ、確実に届けるための正しい姿だと理解しておくとよいでしょう。

迷わず送れるシンプルなURL

共有する相手にURLを送るときは、できるだけシンプルで扱いやすい形が安心です。ギガサイト便で発行される 〇〇.giga-site.com 形式のURLは、カスタムスラッグ(URL末尾)も指定でき、英数字を基本とした分かりやすいアドレスになります。エンコードで長くなりがちなパラメータを意識せず、そのまま共有できます。

よくある質問

URLの%が並んだ文字列は壊れているのですか?

壊れていません。URLで直接扱えない日本語や記号を、安全に送れる形へ置き換えたものです。ルールに沿って変換された正しい表現で、機能上の問題はありません。

なぜ日本語はそのままURLに入れられないのですか?

URLはもともと半角英数字や一部の記号を前提に作られているためです。日本語などはそのままでは安全に扱えないので、URLエンコードで扱える形に置き換えます。

クエリパラメータでエンコードが特に重要なのはなぜですか?

& や = は区切りとして特別な意味を持つためです。値にこれらや日本語が含まれる場合、エンコードしないと値が途中で切れたり誤って解釈されたりすることがあります。

エンコードされたURLは元に戻せますか?

戻せます。受け取る側でデコード(復号)すると元の文字に戻ります。エンコードは可逆的な置き換えなので、変換しても情報が失われることはありません。

実務ではどこで関係する?はHTML共有で必ず理解しておく必要がありますか?

細かな仕様を暗記する必要はありません。ただし、検索に出るか、閲覧者を制限できるか、表示が崩れないかに関わる用語は、共有前の判断材料として押さえておくと安全です。

関連記事

用語解説

URLの構造とは?スキーム・ホスト・パスの意味を解説

スキーム・ホスト・パス・クエリと、URLを構成するパーツが何を意味するのかを分解して解説。開発やSEO設定でURLを操作しなければならない人が、構造を正しく理解するための土台になります。

5分で読める
用語解説

文字コード・UTF-8とは?文字化けを防ぐ基礎知識

日本語ページが別環境で文字化けするのは文字コードのずれが原因です。UTF-8が何をしているのか、どこで指定すれば文字化けを防げるのかを知りたい人向けに、しくみと対策をやさしく説明します。

5分で読める
用語解説

クエリパラメータとは?URLの?以降の意味

URLの「?」以降に並ぶ英数字が何を意味するのか知りたい人向けに、検索・絞り込み・アクセス計測での使われ方を具体例で解説。扱い方を誤るとSEOに影響することも踏まえて整理します。

4分で読める
用語解説

ドメインとは?URLの住所をやさしく解説

取得・設定の前に知っておきたいドメインの基本を整理。サブドメインや独自ドメインとの違いに戸惑っているWeb初心者が、URLの構造を正しく読み解くための入門知識として読める記事です。

5分で読める
用語解説

HTTPステータスコードとは?主要な番号の意味

200・301・403・404・500など、よく見かける番号が何を伝えているのかを体系的に整理。エラーの原因調査やサイト改修で「ステータスコードの意味が分からない」と感じたときに役立つ入門解説です。

5分で読める
「用語解説」の記事をもっと見る →