Percent Encoding」タグアーカイブ

WordPress での日本語スラッグについて

WordPress でパーマリンク構造に %postname% を含めた場合、%postname% が投稿スラッグで置き換えられる。
投稿スラッグを指定しないと、日本語タイトルを urlencode したものが %postname% として使用される。
 例: https://dogmap.jp/2008/03/25/%e6%b7%b1%e6%b3%a5%e4%b8%98%e5%a5%87%e8%ab%87/

%e6などのように特定の文字を "%" と 16 進数字 2 つを用いて変換する処理の事をパーセントエンコーディングと言い、URI の一般的構文を定めた RFC3986 にも記されている
以下、RFC3986 邦訳の抜粋。

パーセントエンコーディング{percent-encoding} メカニズムは、オクテットの対応する文字が認められた文字の範囲外にある、あるいは構成要素の中で区切り氏として使用されている場合に使用される。パーセントエンコードされたオクテットは、パーセント文字 "%" と、そのオクテットの数値を表している二桁の 16 進数字から成る三重語としてエンコードされる。例えば、"%20" は 2 進オクテット "00100000" (ABNF: %x20) についてのパーセントエンコーディングであり、US-ASCII のスペース文字 (SP) に対応している。 Section 2.4 は、パーセントエンコーディングとデコーディングが適応される時について記述している。
pct-encoded = "%" HEXDIG HEXDIG
大文字の 16 進数字 'A' から 'F' は、小文字の 'a' から 'f' とそれぞれ等価である。二つの URI のパーセントエンコードされたオクテット内で使用される 16 進数字の大文字・小文字のみが異なる場合、それらは等価である。整合性を持たせるため、URI の生成を行うもの{producers} や正規化を行うもの{normalizers} は全てのパーセントエンコーディングについて大文字の 16 進数字を使用すべきである。

このパーセントエンコーディングされた URI だが、WordPress ではすべて英小文字になっている。
続きを読む