現在GoogleMapを用いたコミュニケーションツールを作成しており、
GoogleMapに対する操作をjavascript、
任意に配置したマーカーに対してフォームに入力されたユーザーのクチコミ情報
などのデータ更新関係をPHPで行っています。
(GoogleMap ⇔ javascript ⇔ PHP[4.4.2] ⇔ DB[mySQL])
問題はDBへ場所情報(マルチバイト文字)を保存する時と画面へ呼び出す
時とで文字化けをしてしまうことです。
いろいろなページを参考に調べていくと「文字コードの不統一が原因」とされていて
ファイルの文字コードを変換してアップロードする、またはエンコード処理を行う、
など書かれているのですが、私のケースで何をどう処理を施せばいいのかわからないのでどうか教えて下さい。
・統一する文字コードは?
:参考にしているGoogleMapの本のサンプルでは
PHPで行ったDB問い合わせ結果をjavascriptへ受け渡す際、JSONで行っています。
その関係で文字コードは「UTF-8」に統一、的な図式になっているのですが、
統一するのはUTF-8でよいのでしょうか?
・どこで設定?
:PHPではSQL発効のみ行っているいるのですが、その問い合わせ結果に対して
mb_convert_encodingなどの処理が必要なのでしょうか?
本のサンプルでは処理の始めに以下の記述があることでOKというような
感じで書かれているのですが...
header("Content-type: application/json");
ini_set("mbstring.script_encoding", "utf-8");
ini_set("default_charset", "utf-8");
・対象となるファイルは?
:html,js,phpすべての関連ファイルの文字コードを変換してアップロードしなければならないのでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
誰もレスをつけないので(笑。
文字化けを起こした場合、文字コードについては基本的に細かく設定していく必要があると思います。
php.iniや.htaccessだけで文字コードを設定してもなかなか文字化けは回避出来ません。
また、phpファイルやJSONの文字コードと、実際書かれているスクリプトの文字コードが一致しないのも文字化けの原因です。
更に、MySQLは特に4.1以降では、マルチバイト対応になったおかげで逆に文字化けしやすかったりします。
全てをUTF-8に統一出来れば完璧でしょうが、サーバ環境や、MySQLの設定まで及びます。なかなか簡単ではないと思います。
文字化けが発生した場合、出来るだけ明確に、明示的にしながら設定して行く事が良いと思います。
例えば、外部からの変数はUTF-8に統一、内部文字エンコードとファイルはEUC-JP(LinuxやMySQLのデフォルトはEUCが多い)で統一、出力はUTF-8に再エンコード、と言うような具合です。
また、GoogleMapsに関しては、
<script src="http://maps.google.com/maps........." type="text/javascript" charset="UTF-8"></script>
として外部文字エンコードを明示的にUTF-8と指定すれば、EUC-JPやSJISのページからでも問題なく表示されます。
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーバーにアップすると文字化...
-
文字集合範囲外の文字とパーセ...
-
phpファイルで文字化け
-
PHPExcelバッファへの書き込み...
-
PHPで韓国語の表示がうまくいき...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
PHPで新しいウインドウで開く命...
-
別ファイルの変数を呼び出した...
-
バッチを用いたフォルダの自動移動
-
php.ini を設定を変更すると再...
-
form actionで二つ送信先を指定...
-
phpの中でphpを書けないか
-
「@$変数」の「@の意味は?」
-
リダイレクトでPOST
-
PHPで、エラーがない場合のみ画...
-
フォームで戻った際に入力済み...
-
Subversionのリポジトリの削除
-
PHP8を使うと、大量のWarningが...
-
VBSの「MsgBox」について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EclEmmaレポートのエクスポート...
-
PHPで韓国語の表示がうまくいき...
-
PHPExcelバッファへの書き込み...
-
文字コード変えたら、fopenでき...
-
HTTPヘッダはメタタグにも記述...
-
Eclipseで文字化け
-
csvファイル出力時に文字化けし...
-
phpで動的タイトル
-
文字集合範囲外の文字とパーセ...
-
phpログファイルの文字化けにつ...
-
PHPで「®」や特殊文字のエスケープ
-
phpフォームで文字化け
-
Google Chromeで文字化け
-
発生した文字化けに対する対処
-
サーバーにアップすると文字化...
-
GEEKLOG(ギークログ) 文字化け
-
PHP time()に関しての質問です
-
文字化けについて
-
UTF8のページでIEがシフトJISを...
-
batファイルでうまく動かないプ...
おすすめ情報