実体参照(自己解決)

こんな感じかな?


function ent2euc($str){
$strs = split('&#',$str);
foreach($strs as $chr){
$hi = $chr%256;
$lo = floor($chr/256);
$ret .= mb_convert_encoding(chr($hi).chr($lo),"EUC","UCS-2LE");
}
return $ret;
}
UCS-2LEを、USC2-LEって書いてて30分悩んだ。そういえばUCS-2LEとUTF-16LEってどう違うんだろう?一緒か。
あと備忘録として。
Excel5.0/95の内部文字エンコーディングはShift-JISで、それ以降はunicode(utf16-le)みたい。
ParseExcelProで古いエクセルを解析すると、1バイト2バイト混在してるセルの情報がどっか行っちゃうみたい。
ちかれた。