※ ChatGPTを利用し、要約された質問です(原文:phpからMySQLへの日本語文字化けについて)
phpからMySQLへの日本語文字化けについて
このQ&Aのポイント
phpからMySQLへの日本語文字化けについて
現在、「ハッスルサーバー」を利用しwebのphpからMySQLサーバーへの情報登録画面を作成しています。登録内容で数値やメールアドレスなどの「1バイト文字」ですと問題ないのですが、日本語の「2バイト文字」ですと文字化けが発生してしまいます。試した結果とサーバー/DBの状況は以下の通りです。
phpやMySQLに知識が無いため色々と調べて試したのですが正しく登録できませんでした。上記のソース内に記しましたが文字コードを2パターン切り替えて実行しましたが文字化けや空文字が登録されました。どなたか対処方法をお分かりの方はお教えください。
phpからMySQLへの日本語文字化けについて
こんにちは。お分かりの方は教えてください。
現在、「ハッスルサーバー」を利用しwebのphpからMySQLサーバーへの
情報登録画面を作成しています。
登録内容で数値やメールアドレスなどの「1バイト文字」ですと
問題ないのですが、日本語の「2バイト文字」ですと文字化けが
発生してしまいます。
phpやMySQLに知識が無いため色々と調べて試したのですが
正しく登録できませんでした。
試した結果とサーバー/DBの状況は以下の通りです。
※サーバー/DB
・バージョン:5.0.90-log
・文字セット:UTF-8 Unicode (utf8)
・接続照合順序:utf8_general_ci
・種別:MyISAM
・Variable_name:Value
・character_set_client:utf8
・character_set_connection:utf8
・character_set_database:utf8
・character_set_filesystem:binary
・character_set_results:utf8
・character_set_server:utf8
・character_set_system:utf8
・character_sets_dir:/usr/local/share/mysql/charsets/
※phpファイルにて試した設定
//接続
$objCon = mysql_connect(C_SERVER, C_USER, C_PASSWORD);
//文字コード
// mysql_query("SET NAMES SJIS"); ←文字コードを左の2パターンで
// mysql_query("SET NAMES UTF8"); ←どちらかに切り替えて実行しました。
//データベース
$objSecDB = mysql_select_db(C_DB_NAME);
//**********SQL(Insert)**********//
$strSql = "";
$strSql = $strSql . "Insert Into XXXXX ";
$strSql = $strSql . "(";
$strSql = $strSql . "KeyNo,";
$strSql = $strSql . "E_Mail,";
$strSql = $strSql . "Title";
$strSql = $strSql . ") ";
$strSql = $strSql . "Values ";
$strSql = $strSql . "(";
$strSql = $strSql . " " . mysql_real_escape_string($intKeyNo) . ", "; //KeyNo
$strSql = $strSql . " " . mysql_real_escape_string($strEmail) . ", "; //E_Mail
$strSql = $strSql . "'" . mysql_real_escape_string($strTitle) . "' "; //Title
$strSql = $strSql . ")";
//SQL発行
$blnRet = mysql_query($strSql);
・上記のソース内に記しましたが文字コードを2パターン切り替えて
実行しましたが文字化けや空文字が登録されました。
どなたか対処方法をお分かりの方はお教えください。
よろしくお願いします。
お礼
こんにちは。 返信が遅くなり申し訳ありません。 ご指定いただいた内容を確認しました。 ファイルの内容は「Shift-JIS」にて保存されていました。 そのため「UTF-8」で保存をしました。 「UTF-8」に保存をして再度実行しましたら、無事に文字化けをせず 登録が出来ました。 本当に助かりました。 ありがとうございました。