成田と申します。
お世話になっております。
現在、以下の環境で開発を行っております。
Windows Server 2003
HTTPD2.2系の最新
PHP5.2系の最新
MS SQLSERVER 2005
文字コード UTF-8
1.中国語の文字列を扱うためにテーブルにnvarchar型のカラムを作成
(中国語文字列がカラムに正しく登録されていることは確認済み)
2.PHPをUTF-8にて記述して、上記カラムの抽出
3.画面に表示すると文字化けしている
いろいろと調べてみたところ、
抽出された文字列がSJISであるため
UTF-8への変換が必要であることがわかりました。
確かに、UTF-8への変換を行ったところ、
日本語文字列の表示は正しく行えたのですが、
中国語文字列の表示は一部が「?」で表示されました。
抽出した結果がSJISであることから
SJISにない中国語文字が化けてしまい、
UTF-8に変換しても「?」になっているのだと思います。
試しに、データベースへの接続を思い当たる3つの方法
・mssql関数
・PDO_ODBC
・ADBdb
にて行ってみましたが、どれも同じ結果になりました。
どのようにすればMS SQLSERVERのnvarchar型のカラムの
文字列をunicodeで抽出することができるのでしょうか。
もしくは、
他の方法で中国語データの保持、ブラウザ表示が正しく行えるのであればご教授願います。
_______________________________________________
PHP-users mailing list
PHP-users@...
http://ml.php.gr.jp/mailman/listinfo/php-usersPHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3