日本語のURLで、リンクが生成できない時の対処法

16/03/2019

こんにちは、tikoです。

この間、商品リンクの作成をしていて、日本語URLをそのまま入力しても、正常にリンク作成がされないという問題が発生しました。

その時に使用した解決法を一つ、こちらでシェアさせて頂きます。

日本語を使用しているドメインやURLは近年、ちょくちょく見かけますので、対処法のひとつとして覚えておかれると、対応の幅が広がると思います。

日本語URLの部分をエンコードする

このような問題が起こる原因の一つに、「ブラウザが日本語を認識できない」というものがあります。

基本的にはURLは英文表記ですので、日本語部分は英数字や記号に置き換えて(これを、エンコードと呼びます。)認識しているのですが、これができない場合があるのです。

そのため、日本語で記述している部分を手動でエンコードしてやればいいのです。

エンコードは、こちらのサイト様で簡単に行えます。

日本語表記されている部分を入力して、エンコード。そこで生成された文字列をコピーして、元のURLの日本語部分と置換するだけです。

参考までに、文言をこちらに引用させて頂きます。

URLエンコードについて
・URLに日本語が含まれた場合、ブラウザによっては日本語部分が認識できず、正しくリンクされない事があります。
・これはブラウザが基本的には半角英数字や一部の半角記号しか扱えない為です。
・最近のブラウザは日本語URLにも対応してきていますが、実はブラウザ側で半角英数字や記号に変換して処理しているだけです。
・日本語URLに対応していないブラウザもありますので、URLに日本語が含まれる場合には初めから半角英数字・記号に変換しておくと良いでしょう。
・URLを半角英数字・記号に変換する事を「URLエンコード」といいます。逆に日本語に戻す事を「URLデコード」といいます。
引用元:URLエンコード・デコード(https://tech-unlimited.com/urlencode.html)

これによると、主にブラウザ(インターネットを閲覧するためのソフト・・・google chromeやsafari、firefoxなど)上での問題というわけですね。

最後に、置換したURLがきちんと意図したページにリンクしているか、確認をして完了です。

日本語ドメイン名の変換は?

これと似た話で、日本語ドメインの変換についても触れておきます。

頭に(http:後に)日本語の入っているドメインは、上の問題と同様、日本語を直接URLに入力しても機能しないことがあります。

特にこの位置での日本語ドメインには、punycodeと呼ばれるエンコード方式が使用されており、よりシンプルな文字数で表現ができます。

大抵の場合、「xn--○○○○」というような表記になっているはずです。

こちらも原理は同じ。コンピュータ上の言語で、よりコンピュータが理解しやすい形に変えている、というように考えると、わかりやすいかと思います。

こちらのサイト様で、エンコード・デコードが行えます。

まとめ

URL入力しても、エラーが出てしまい入力できない、というような場合は、入力しようとしているURLの日本語部分を、エンコードしてみて下さいね。

以上、リンク作成時などにおける日本語URL使用上の注意点について、でした。