前回、レンタルサーバーにPEARをインストールする方法を説明しましたがインストールするだけではPEARを使用できません。
phpでREARを参照するにはパスを通さなければなりません。
php.iniを編集してパスを通す方法もありますがレンタルサーバーではphp.iniの編集が面倒だったりします。
そこで実行するphpファイルそのものにインクルードするパスを記す方法を使います。
phpでPEARを使えるようにする方法
ini_set('include_path','.:/home/※※※※/pear/PEAR'); require_once "Net/IDNA2.php";
このパスは借りているレンタルサーバーの環境により変化しますので
それに合わせて変更してください。
■ini_set(‘include_path’,インクルードするフルパス);
インクルードするフルパスにPEARをインストールしたフルパスを指定します。
これでPEARが使えるようになります。
■require_once ファイル名
ファイル名の参照を実行します。
ファイル名をNet/IDNA2.phpとするとNet/IDNA2.phpの関数を使用できるようになります。
Net/IDNA2.phpが存在しない場合はエラーメッセージが出るので
「REAR」か「Net_IDNA2」のインストールが失敗しているのかを見直すと良いかもしれません。
他に日本語URL変換する為にはPunycode変換を使いますが
Punycode変換関数に文字コードを「UTF-8」で渡す必要があります。
「Shift-Jis」からエンコードして渡しても可能ですが使用できる文字の種類が減るので
最初から「UTF-8」にしておきます。
以下、UTF-8を使う設定にする命令を紹介します。
<?php print '<?xml version="1.0" encoding="UTF-8"?>'; ?>
ページ先頭に書きます。
認識されエラーとなる場合があります。
これを回避する為「print」または「echo」で出力するようにします。
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head>
メタタグでもUTF-8を使うように設定します。
mb_internal_encoding('UTF-8');
■mb_internal_encoding(‘UTF-8’);
phpの内部文字コードを日本語に設定します。
最後にUTF-8でphpファイル自体も保存します。
TeraPad等の文字コードを指定して保存できるツールを使い保存します。
これでPunycode変換する準備ができました。
いよいよ次回はエンコードやデコードします。