2010年7月28日水曜日

Windowsでの機種依存文字の文字化け

根が深そうな割に簡単に片付いたのでメモ。

今回のシステムは、
MS SQL Server
(Windows)
|
apache + php
(Linux)
|
API Server
(Linux)

という構成で、LinuxからWindowsのDBを叩く、というもの。
当然、文字コードも、WindowsはSJISだし、LinuxはUTF-8だし、で変換してあげないといけない。
で、普通に変換かけてたんだけど、(株)とかの機種依存文字が化けちゃう。
色々試してみたところ、
mb_convert_encoding($str, "UTF-8", "SJIS");
じゃなくって、

mb_convert_encoding($str, "UTF-8", "sjis-win");
でやれば、機種依存文字もきれいに変換してくれるみたい。
文字コードの指定、SJISじゃだめなのね。知らんかったよ。

0 件のコメント:

コメントを投稿