ラベル Unicode の投稿を表示しています。 すべての投稿を表示
ラベル Unicode の投稿を表示しています。 すべての投稿を表示

2009年12月12日土曜日

新常用漢字が引き起こす文字コード問題 - 日経ITpro

新常用漢字が引き起こす文字コード問題
http://itpro.nikkeibp.co.jp/article/COLUMN/20091209/341831/
新たに追加される196文字の中に、文字コード「シフトJIS」にない漢字が含まれているため、情報システムに大きな影響を与えそうだ。

2009年9月23日水曜日

Unicode char<->int conversion in the PHP

Java
char c = (char) int;
int i = (int) char;

PHP
function num2utf($num){
if($num<128)return chr($num);
 if($num<2048)return chr(($num>>6)+192).chr(($num&63)+128);
if($num<65536)return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128);
if($num<2097152)return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128) .chr(($num&63)+128);
return '';
}

function utf2num($utf)
{
$tmp = ord($utf{0});
if ($tmp<128)return $tmp;
 if ($tmp<224)return (($tmp-192)<<6) + (ord($utf{1})-128);
 if ($tmp<240)return (($tmp-224)<<12)+ ((ord($utf{1})-128)<<6) +(ord($utf{2})-128);
 if ($tmp<248)return (($tmp-240)<<18) + ((ord($utf{1})-128)<<12)+((ord($utf{2})-128)<<6) + (ord($utf{3})-128);
 return '';
}
see also PHP: utf8_encode - Manual http://sk2.php.net/manual/en/function.utf8-encode.php#49336