| << 値を送りたいのですが・・・ | 質問一覧 | 文字扱いの数値を数値に変換 >> |
- 0P
MySQLでの日本語データの文字化けについて
- 0P
はじめまして、PHP・MySQLについて勉強を始めたばかりの初心者です。
今回、POSTを使いPHPからMySQlへデータ挿入を行っています。
SJIS設定では、MySQlへ日本語入力ができたのですがEUCJPで文字化けをしております。
・現在の環境
Apache/2.0.63(Win32) PHP/5.2.6 MySQL/5.0
・php.iniの設定、以下になります。
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encofing__translation = On
mbstring.detect_order = auto
mbstring.substitute_charecter = auto
mbstring.script_encoding = EUC-JP
・コマンドにて設定の確認。
mysql> show variables like "char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | ujis |
| character_set_connection | ujis |
| character_set_database | ujis |
| character_set_results | ujis |
| character_set_server | ujis |
| character_set_system | utf8 |
| character_sets_dir | MySQL\share\charasets |
+--------------------------+----------------------------+
・my.iniの設定、以下になります。
[client]
default-character-set=ujis
[mysql]
default-character-set=ujis
[mysqld]
default-character-set=ujis
skip-character-set-client-handshake
init-connect=SET NAMES ujis
参考書ではpearを使用していたのですが、私の環境では使用できずコードを変更してみました。
このコードでデータが入りますが、カタカナと漢字交じりのものでした。
どなたかご教授よろしくお願いします。
今回、POSTを使いPHPからMySQlへデータ挿入を行っています。
SJIS設定では、MySQlへ日本語入力ができたのですがEUCJPで文字化けをしております。
・現在の環境
Apache/2.0.63(Win32) PHP/5.2.6 MySQL/5.0
・php.iniの設定、以下になります。
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encofing__translation = On
mbstring.detect_order = auto
mbstring.substitute_charecter = auto
mbstring.script_encoding = EUC-JP
・コマンドにて設定の確認。
mysql> show variables like "char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | ujis |
| character_set_connection | ujis |
| character_set_database | ujis |
| character_set_results | ujis |
| character_set_server | ujis |
| character_set_system | utf8 |
| character_sets_dir | MySQL\share\charasets |
+--------------------------+----------------------------+
・my.iniの設定、以下になります。
[client]
default-character-set=ujis
[mysql]
default-character-set=ujis
[mysqld]
default-character-set=ujis
skip-character-set-client-handshake
init-connect=SET NAMES ujis
- $server = 'localhost:3306';
- $username = 'sample';
- $password = 'password';
- $db = mysql_connect($server, $username, $password)
- or die("Couldn't connect to database");
- mysql_query("SET NAMES 'ujis'");
- $last_name = addslashes($_POST['last_name']);
- $first_name = addslashes($_POST['first_name']);
- $age = addslashes($_POST['age']);
- mysql_select_db('sample1db', $db);
- $query_ins = "INSERT INTO member (first_name,last_name,age) VALUES('$last_name','$first_name',$age)";
- $result = mysql_query($query_ins, $db);
- $query_sel = 'SELECT * FROM member';
- $result = mysql_query($query_sel, $db);
参考書ではpearを使用していたのですが、私の環境では使用できずコードを変更してみました。
このコードでデータが入りますが、カタカナと漢字交じりのものでした。
どなたかご教授よろしくお願いします。
| 値を送りたいのですが・・・ | 質問一覧 | 文字扱いの数値を数値に変換 |