フォーラム

日本語を含むポストスラッグの長さ限界? (4 件の投稿)

  1. takuya
    メンバー
    1 年前の投稿 #

    ポストスラッグが日本語の場合、ある程度の長さを超えるとブラウザがそのページの存在を認識できなくなりますが、この長さの限界というのはどのくらいでしょうか?

  2. lilyfan
    メンバー
    1 年前の投稿 #

    データベース的には、post_name フィールドの定義が VARCHAR(200) となっています。日本語の場合、UTF-8 文字列 (1文字3バイト) を URL エンコード (1バイトが3ケタ) したものになるため、200 ÷ 9 = 22.222... で22文字が限界です。したがって、「日本語で22文字を越える投稿スラッグは付けられない」ことになります。
    しかし、これはデータベースに INSERT するときの制約のため、「ブラウザがそのページの存在を認識できなくなる」制限と一致するかはよく分かりません。

    # そもそも「ある程度の長さを超えるとブラウザがそのページの存在を認識できなくなります」という現象が、具体的にどういう状況なのかイメージできません……。

  3. takuya
    メンバー
    1 年前の投稿 #

    なるほど22文字が限界なのですね。

    現象としては単にブランクページとなってしまうということです。

  4. lilyfan
    メンバー
    1 年前の投稿 #

    現象としては単にブランクページとなってしまうということです。

    なるほど、これは URL の解析部分で PHP エラーが起きている可能性がありますね。「白紙ページになる」というのは、基本的には制限というよりはバグに近いです (制限の場合は 404 エラーなどになるべきなので)。

    こちらでも調査してみて、不具合箇所が特定できたら trac で報告してみましょう。

返信

ログイン しなければ投稿できません。

About this Topic