2010年04月01日

文字コード問題でダウンロードできない・・・

(CakePHPネタじゃありませんが)

Vtigerですが、
http://vtiger.com/
何回目かのサーバの引越しをしたところ、添付ファイルがうまくダウンロードできなくなったとのお知らせが・・・。

ファイル名を見ると、Shift-JISがあったり、UTF8らしいのにUTF8で扱えなかったりとなんじゃこりゃの状態に。サーバの設定がまちまちだんたんだなぁ・・・。

最初は、

convmv
http://www.j3e.de/linux/convmv/
とか、はたまたWindows上で
uniconv
http://www.vector.co.jp/soft/winnt/util/se368807.html
とかを試してみたのですが、どうにもうまくいきません。無駄な時間だけがながれてゆく・・・・。

数百ファイルをどうしようと思いましたが、ふと、「色々文字化けとか面倒なのであれば、ダウンロードする時点で、PHP側でファイルを見つければいいんじゃないか」と思い、

/home/trixbox/www/vtigercrm/modules/uploads/downloadfile.php
の中に、

・UTF-8でファイルがなければ、Shift-JISにファイル名をエンコードして検索してみる
・(略)
・それでもなければ、先頭のINDEXの数字を頼りに検索

して、見つけてくる数行を書きました。
とりあえず、これでOK。

「データがおかしい場合には、無理にデータを直そうとせずに、取り出す時点で柔軟になんとかできないか考える」というのも大事ですね。
posted by SDozono at 16:38| 東京 ☀| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする