お世話になっております。Ryosukeです。
fuelphpにて、環境依存文字を使用すると文字化けが
起こってしまう問題について質問いたします。
データベースよりの
つちよし(下の長い吉)や
いってんしんにょうの辻などをフォームに入力して、
php で読み込んだ際、データベースに格納する段階か
あるいは変数に読み込んだ段階で
\ud842\udfb7
という(つちよしの場合)ストリングが入ってしまい、
これがデータベース上では ???? になってしまいます。
どの段階でデータが壊れてしまうのかわかりません。
もう一度そのデータベースに格納された文字を表示しようとすると
つちよしにはならず、???? と表示されてしまいます。
環境はwindows 10 を使い、CHCP(コードページ)は932
開発ソフトは xampp Netbeans を使用しております。
以下設定まわり
my.ini データベース設定
(前略)
## UTF 8 Settings
init-connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="C:/xampp/mysql/share/charsets"
(後略)
データベースの
show variables like "chara%";
の結果です。
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | cp932 |
| character_set_connection | cp932 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | cp932 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\xampp\mysql\share\charsets\ |
+--------------------------+--------------------------------+