airheadの日記: memo: /.Jでコメントからリンクを張るときの注意点
/.Jのコメント作成時にリンク部分を次のように書いたりしていませんか。
<a href="http://www.google.com/search?num=50&lr=lang_ja&q=トヨタ CM ボヘミアン・ラプソディ">歌詞の...</a>
こういった日本語の入ったURLはSleipnirの検索バーなどから生成されたものだと思うのですが、/.Jの投稿に利用する場合には注意が必要です。
問題
Slashcodeは投稿時にコメント内をチェックして、a要素href属性に日本語文字列が入っていればEUCでエスケープします。もともとのURLにはエンコード指定が含まれておらず、GoogleはShift_JISでエスケープされたものと解釈して見当違いの検索結果を返してしまいます。
コメント作成時に「&ie=EUC-JP」と追記しておけばSlashcodeを経由しても機能しますが、エスケープ結果が50字以上であれば50字になるように切りつめるという制限(荒らし対策?)もあるようです。 結局出来上がるリンクは「トヨタ CM ボヘミ」を検索するものになってしまいます。
対策
検索した後で検索結果ページ内のボタンを利用して再検索すれば、日本語がエスケープされてエンコード指定されたURLが得られます。
Sleipnirを利用しているのであれば、Sleipnirにエスケープをやってもらいましょう。[Sleipnirオプション]の[検索バー/検索エンジン]を開いて「Google日本語」の[エンコード]欄を「URLエンコード」「UTF-8」のいずれかに設定にしておけばOKです。
Googleでは、上記2つでエスケープしたものであればエンコード指定をURLに含めなくても正しく検索するようですが、念のために[(URLの)先頭][最後]欄のいずれかに「&ie=Shift_JIS」「&ie=UTF-8」といったエンコード指定を追加しておいたほうがいいかもしれません。これと同様に「&ie=EUC-JP」を追記しておけば[エンコード]欄で「EUC」を選択しても問題は発生しません。
こうして変換済みのURLはSlashcodeによって変換されることも切り詰められることもありません。リンクを無駄にしないために、何かしら対策されることをお勧めします。
memo: /.Jでコメントからリンクを張るときの注意点 More ログイン