phpからMySQLへの日本語文字化けについて
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パターン切り替えて
実行しましたが文字化けや空文字が登録されました。
どなたか対処方法をお分かりの方はお教えください。
よろしくお願いします。
補足
共用サーバーですので、「my.cnf」か「my.ini」の編集はできないと思います。 データベースは、レンタルサーバーの契約をする際に自動で1つだけ生成されるので、こちらでオプションを付けて作成することはできないようです。