SIP-2100 は文字表示は SJIS であった。
$Ans = mb_convert_encoding($Ans, "SJIS","SJIS")
みたいなコードを付け加えて MSSQL の半角カタカナを拾って表示して SIP-2100 で表示可能となった。(必要ないと思うが、UTF-8 がらみでコードが残っている)
今度は MySQL で電話帳を作って、そちらで検索して失敗したら MSSQL を検索、みたいなスクリプトを作ったら、 MySQL が文字化けで全然 mb_convert されない。すべて「?」が表示されてしまう。
悩んだ結果、
# vi /etc/my.cnf
[mysqld] default-character-set = utf8 skip-character-set-client-handshake character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [client] default-character-set=utf8
を付け加えて、 :wq で保存、
# service mysqld restart
# service httpd restart
で、解決した。
php 内部では
$Kana = mb_convert_encoding($row["Kana"], "SJIS","UTF-8");
として変換してあるが、?code= みたいな感じで好きなコードで吐けるようにしておくと便利かも。
きれいなソースに書き直したら公開予定。