ピュニコード変換する方法、JSかPHPで

phpでピュニコード変換する方法
https://nelog.jp/punycode-for-php

ピュニコード変換ツール
http://n7.com/japanese/

Punycode(ピュニコード)とは-wikipeda
https://ja.wikipedia.org/wiki/Punycode

ピュニコード変換の用途

ピュニコード、またはプ二コードっていうらしい。ぷにぷに

ピュニコード変換は日本語を英数字に変換してくれる。日本語ドメインでサイト登録する時に日本語のままだと登録できない時があるのでたまに使う。

PHPプログラミングでも、日本語ドメインでphpのfile_get_contentsしたらエラーなるのでピュニコード変換する必要があった。

PHPでのピュニコード変換

phpでのやり方は参考サイト見れば簡単に載ってた。一応自分でも試して問題なく動作した。

2、3種類ぐらいやり方あって試したけど「Net/IDNA2.php」を使うのが一番楽だった。

PHPで日本語ドメインの扱う(punycodeに変換)するメモ!

はじめNet/IDNA2.phpを使うのにpearをインストールする必要があると思っていたけど調べてたらNet/IDNA2.phpだけをダウンロードするだけで使えた。

JavaScriptでのピュニコード変換

なるべくjavascriptでできればいいなと思って参考サイトを見てたが上手いこといかなかった

Punycodeのjavascript実装と変換テスト - Qiita
# Punycodeのjavascript実装と変換テスト ## 概要 Punycode変換をjavascriptで実装した * punycode.js

このサイトで提供されているpunycode.js実際使ってみたが、正確にpunycode変換されない文字が多数ある。

・http://punycode.jp/ とは違う英数字がでる。アクセス解析で出ている値はこのURLと同じでJSのライブラリとは違う。
・JSのライブラリでxserverからの英数字をデコードしても文字化けする。

http://okamurax.com/?p=80

自分以外の人も使ってたけどうまくいかないようだ。jsでは実装できないのかな?と思ったが実際jsでピュニコード変換しているツールを発見。

日本語URL変換ツール 〜 ピュニコード(Punycode)・UTF-8などのエンコードに
ドメインのピュニコード(Punycode)変換と文字列(UTF-8,EUC-JP,SHIFT-JIS)のエンコード・デコードツールです。(無料)

ふむふむふむ、中々難しいがjsで実装できることはわかった。2005年に書かれたpunycode.jsを使って、_to_punyという関数で実行されている。

コメント

タイトルとURLをコピーしました