【やりたいこと】
・さくらのレンタルサーバを利用してPHPのページからコメントの投稿
・投稿されたデータをmysqlに蓄積し、別の画面に出力
【困っていること】
・データの挿入時に文字化けする
さくらのレンタルサーバでPHPをmysqlと接続して使っています。
PHPからDBにinsertしたときに日本語が文字化けしてしまい、困っています。
PHPはPDOを使って接続したいのですが、
さくらのレンタルサーバはsqlのmy.cnfを設定する権限がありません。
なので、insertする側のPHPのコードで
$dbh = new PDO($dsn, $user, $password); $dbh->query('SET NAMES utf-8');
として文字コードの変換をしていますが、phpMyAdminで確認すると?????????と文字化けします。
もちろんこのまま出力しても文字化けのまま表示されます。
sqlの文字セットがこちら
character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server ujis character_set_system utf8 character_sets_dir /usr/local/share/mysql/charsets/
ちなみ出力時は
mb_convert_encoding($str, "UTF-8", "ujis"); mb_convert_encoding($str, "UTF-8", "EUC-JP");
どちらも試しましたが駄目でした...
どなたか回避する方法をご存知の方はいらっしゃらないでしょうか..?
追記:
PHPでフォームから受け取ったデータを画面にechoで出力しても文字化けは発生しないのでデータベースに格納した際に何か不具合が起きていると判断しています

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/17 14:22