プログラム初心者です。
PhpMyAdminでテーブルを作ってそこに接続するスクリプトを書くと
結果の日本語が文字化けしてしまい困っています。
SQLのコマンドラインツールからshow variables like 'char%';
で現在の文字コードに関する設定を確認してみたら
+--------------------------+--------------------------------+
| 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 | C:\xampp\mysql\share\charsets\ |
+--------------------------+--------------------------------+
以上の様にcharacter_set_filesystem以外はUTF-8になっているのですが
なぜ文字化けしてしますのでしょうか?
このcharacter_set_filesystemをUTF-8にしないとそうなってしまうものなのでしょうか。
スクリプトはTerapadを使用しUTF-8で保存しています。
手持ちのPHPの参考書によると、文字化けの発生には以下の5箇所があるといいます。
1、HTTPリクエスト
2、PHPファイル内での文字列読み込み
3、DBアクセス
4、MysqlからApacheの問い合わせに対するレスポンス
5、HTTPレスポンス
現在この5つのうちのどこに原因があって文字化けしているのでしょうか?
3のDBアクセス時かな?と思って
参考書に従ってphp.iniや.htaccessを設定したつもりですが解消しません。
環境設定だけで一日仕事になってしまいました(汗)
お詳しい方、どうかお知恵をお貸し下さい。
原因と対策を教えて下さると助かります。
情報の過不足があればご指摘ください、よろしくお願いいたします。
当方の環境
■php 5.4.7
■mysql 5.0.10
■Apache 2.4.3
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No.1
- 回答日時:
>3のDBアクセス時かな?と思って
であれば「どうやって接続しているのか」(クライアントの文字セットをどうやってサーバに通知しているか)を提示してください。
MySQL関数であれば(いまどきネイティブなMySQL関数を使うとも思えませんが)mysql_set_charsetが抜けているとか、PDOなどであればdsnでcharsetを指定していないとかが思いつきますが、何も提示されていないので・・・
回答ありがとうございます。
情報の不足があった事をお詫びいたします。
問題は解決いたしました。
原因はやはりDB側文字コードの設定でした。
サーバ接続の照合順序が、サーバ全体では『utf8_general_ci』となっていましたが
テーブルのカラム個々の設定は未設定だった為に起こっていた問題だったようで
ここを揃えたところきちんと表示されました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL MYSQL エラー 2 2022/10/18 11:37
- PHP php エラー 2 2022/10/23 16:43
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) QRコード作成マクロについて 3 2022/11/26 16:55
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XOOPSのサーバアクセス設定につ...
-
phpmyadminのトップページのMyS...
-
MySQLから送られて来たデータの...
-
onedrive にexcelファイルをア...
-
こちらはただの直列処理ですか?
-
ワードプレス、Contact Form 7...
-
拡張子php画像をjpg画像等に変...
-
PHPとCSVで簡易データベースな...
-
include先でのinclude元の変数...
-
リダイレクト元のURLの取得方法...
-
メールフォームのタイトルが文...
-
php エラー
-
PHPのif文でその処理を途中で抜...
-
VBでメールを送る時のSMT...
-
one drive のアップロード失敗...
-
別PHPファイルに変数を渡す
-
ワードプレスサイト PHP8.0.25...
-
パースエラーとは?
-
Image Magickの関数が使えない
-
文字化けで混乱中です...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのWARNINGをcatchするには
-
お名前comのPHPとmysqlの接...
-
localhostにリダイレクトされて...
-
エックスサーバーでのmysql設定...
-
lolipopでのmysql接続について
-
XOOPSインストール中に真っ白画...
-
データベースと連動したベーシ...
-
レンタルサーバでPHPからMySQL...
-
hpinfoにmysqlやmysqliが表示さ...
-
データベースに接続できない・...
-
XserverでpearのDBでMySQLに接続
-
My SQL の文字化け
-
ページ表示について
-
MySQLから送られて来たデータの...
-
XOOPSのサーバアクセス設定につ...
-
勉強の甲斐あっていよいよPHPフ...
-
pwebmanagerにアクセスするとFa...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
index.phpに入るには、どうすれ...
おすすめ情報