ユーザが入力したauの絵文字を内部で#文字コード#の形にしたいのですがどうすればいいでしょうか?
以下のように試してみたのですが、文字コードがうまく取れなくて困っています
$str = $_POST['txt'];
$str = unpack("C*", $str);
$max = count($str);
$buf = "";
$i = 1;
while($i <= $max) {
$char1 = $str[$i];
$char2 = $str[$i+1];
echo $char1.'<hr>';

if(($char1 == 0xF3) || ($char1 == 0xF4) || ($char1 == 0xF6) || ($char1 == 0xF7)) {
$d = strval(dechex($char1)).strval(dechex($char2)) ;
$buf .= "?".strtoupper($d).";" ;
}
$i++;
}
elseif(((0x81 <= $char1) && ($char1 <= 0x9f) ) || ((0xe0 <= $char1) && ($char1 <= 0xfc))){
$buf .= pack("C", $char1) . pack("C", $char2);
$i++;
}
else
$buf .= pack("C", $char1);
$i++;
}
return $buf;
}
絵文字をPOSTすると
echo $char1でau規定の絵文字コードである「0xF3、0xF4、0xF6、0xF7」になるはずなのに0xEEになってしまいます。。。

分かりにくいかもしれませんがどうかお力お貸しください(;ω;)