[PHP-users 35075] Re: 文字変換のにコードについて
ushijima
ushijima @ alpha-jp.co.jp
2010年 3月 30日 (火) 17:16:03 JST
牛島と申します。
単純に "スマートにしたい部分" のみを考えるなら
こんな感じでどうでしょうか。
#====== HEX to STRING============
function hex2str($string){
$ret = "";
$string = trim($string);
for($i=0;$i<strlen($string);$i+=2){
$ret .= chr( hexdec(substr($string,$i,2)) );
}
return $ret;
}
str2hexの書き方を参考にして同じ感じで書いてます。
# 入力文字数が奇数の場合など、エラー処理はありません。
unserializeも、str_replaceも今回の処理では 使えない と思います。
私も個人的に、わざわざこのようなコードを書くのはあまりお勧めしたくないです。
base64_encode などで対応した方が良いのでは、とは思います。
データの保存方法がわからないので何とも言えませんが、
mb_convert_encoding で文字化けしないコードに変換し、保存等を行い
表示する際に、随時SJISにする事で案外簡単に解決するかもしれません。
以上です。
PHP-users メーリングリストの案内