[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 メーリングリストの案内