ちょーい。MacのUTF-8の実装が、ちょっと特殊で萎え〜じゃ。面倒な説明はおいといてかいつまんでいうと、MacOS上(つまりHFS+フォーマット)のファイル名に日本語が使われているとき、実は濁点文字の「が」や「ざ」みたいな文字は、「か」+「゛」、「さ」+「゛」として処理されているんじゃね。
Mac上のApacheやSamba上では自動変換されるらしいので、Win環境でアクセスしても整合性がとれてるんだけど、FTPとかでアクセスしたばやいWin環境で文字化けしちゃんうだよね涙。
で、ファイル操作インタフェース作るためにいろいろ試してみたんだけど、結局PHP上で逐次変換する作戦でいきました。はい。
入力文字を無理矢理バイナリ変換して、かな(カナ)+濁点コードを濁点付き1文字に変換しとるじゃよ。
Mac上のApacheやSamba上では自動変換されるらしいので、Win環境でアクセスしても整合性がとれてるんだけど、FTPとかでアクセスしたばやいWin環境で文字化けしちゃんうだよね涙。
で、ファイル操作インタフェース作るためにいろいろ試してみたんだけど、結局PHP上で逐次変換する作戦でいきました。はい。
入力文字を無理矢理バイナリ変換して、かな(カナ)+濁点コードを濁点付き1文字に変換しとるじゃよ。
function unifix($str) { $arr = array( 'e3818be38299' => 'e3818c', // が ..以下ひたすら変換テーブル ); return pack("H*",strtr(bin2hex($str),$arr)); }あーめんど。でもまあなんとかできました。