![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
環境はxp、apache2、php5、Postgresql8.2です。
1台のPCをサーバ&クライアントにしています。
ただ今PHPとPostgresqlの勉強をしています。
先日、
ハシゴの「高」が「?」に置き換わってしまいます。
http://oshiete1.goo.ne.jp/qa3588767.html
という質問をさせて頂いた者です。
ご指導をして頂いたおかげで
CSV→(PHP)→PostgreSqlでは文字化けせずに表示する事が出来ました。
>$line[0] = mb_convert_encoding($line[0],"eucJP-win","sjis-win");
今度はそのデータを画面に表示させようとすると、
(PostgreSql→(PHP)→画面表示)
ハシゴの「高」などの文字が「?」に置き換わってしまいます。
>print("<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=\"eucJP-win\">\n");
で、色々と文字エンコードを変えてみましたが
文字化けしてしまいます。
対処方法をご存じでしたら、
ご教示して頂けたら幸いです。
No.3ベストアンサー
- 回答日時:
>$sql = "inser t into m_syain (syain) values ('{$line[0]}')";
>pg_query($d_base,$sql);
あ、いやutf8にするのはclientへ出力するときの話です^^;
$sql="select ほにゃらら";
$res = pg_query($sql);
while($row = pg_fetch_assoc($res)) {
echo $row['syain']; // <-ここでハシゴ高が化ける
}
pg_close($pid);
と言う話だと当方は解釈していたのですが、間違いないでしょうか^^;
正常に格納されているハシゴ高がeucJP-winとすると、出力される際に
header('content-type:text/html;charset="UTF-8";');
echo "<meta http-equiv='content-type' content='text/html;charset=\"UTF-8\"' />";
(snip...)
while($row = pg_fetch_assoc($res)) {
echo mb_convert_encoding($row['syain'],'UTF-8','eucJP-win');
}
としてみてはいかがでしょう、ということです。
wp_さん、いつもありがとうございます。
お陰様でお馬鹿な私でも
少しずつですが理解を深めることが出来ました。
問題はphp.iniにもあったようです。
そこがutf-8の設定になっていませんでした。
No.2
- 回答日時:
No.1の方が言っていることが全てですけども^^;
補足を。
こちらも問題の切り分けをしましょう。
DB->(PHP)
この取得時点でバイナリが崩れていないか
(PHP)->Client
HTTPクエリで正しくeucJP-winが指定されているか
// header()で明示的に文字コードを宣言しているか
Client
<meta>で正しく文字コードを設定しているか
ClientはeucJP-winで表示できる環境か
また、これらにおいて全て同一の文字コードを扱っているかどうかが肝要です。
崩れていた原因を突き止めた場合に初めて「何故崩れたのか」「対処方法はどうするのか」を検討すると良いです。
おそらくPHP内でEUC-JP→UTF8に変換した上でHTTPに流すと言う方法が(システム全体から見て適切かどうかはさておき)楽な気がします。
この回答への補足
ご返事有り難うございました。
>おそらくPHP内でEUC-JP→UTF8に変換した上でHTTPに流すと言う方法が(システム全体から
>見て適切かどうかはさておき)楽な気がします。
と、ご指導して頂きましたので
$line[0] = mb_convert_encoding($line[0],"EUC-JP","sjis-win");
$line[0] = mb_convert_encoding($line[0],"utf-8","EUC-JP");
というように変換してみました。
ところが、
$line[0] = mb_convert_encoding($line[0],"utf-8","EUC-JP");
で、SQLを実行すると、エラーになってしまうようです。
このような変換方法ではないのでしょうか?
$sql = "insert into m_syain (syain) values ('{$line[0]}')";
pg_query($d_base,$sql);
No.1
- 回答日時:
ブラウザはまた別の処置が要ると思うよ
ブラウザは eucJP-win というのは大抵持っていないから?になるんだろうね。
因みにハシゴの高の文字情報を調べるとunicodeでしか出てこないからブラウザへ出力するなら「UTF-8」が妥当になるんじゃないかな。
この回答への補足
ご返事有り難うございました。
print("<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=\"UTF-8\">\n");
と、してみましたが、
同じ文字化けになってしまいました。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでcookieがうまく保存されない
-
掲示板を作成しておりアップロ...
-
フォームで戻った際に入力済み...
-
ワードプレスサイト PHP8.0.25...
-
PHPで画像の渡しが上手く行きま...
-
「基礎からのMySQL 第3版 Kindl...
-
PHP MySql 画像を取得
-
phpの imap_search で漢字コード
-
a href リンクタグでだけで 送...
-
EC-CUBEをeclipseからコンパイ...
-
PHPのエラーの解消法について教...
-
PHPについて。
-
アマゾンのような評価の星を選...
-
PHP8を使うと、大量のWarningが...
-
SFTPなどは使わないホームペー...
-
ファイルアップロードに関して...
-
Q&Aサイトを作成していてURLの...
-
アップロード画像数でCSSを分け...
-
アップロードファイルの数に応...
-
ファイルアップロードの上限を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字集合範囲外の文字とパーセ...
-
(mysql_set_charset)PHPでINSER...
-
EUC-JPのサイトをSHIFT-JISに変...
-
EUCからshift_jisに書き換えに...
-
PHPで「®」や特殊文字のエスケープ
-
PHPで韓国語の表示がうまくいき...
-
携帯の文字化け
-
PHPでセッション導入後に初めて...
-
mysql→EUC-JP、php→UTF-8の時の...
-
サーバーにアップすると文字化...
-
文字コード変えたら、fopenでき...
-
サーバーにアップすると文字化...
-
ファイルの文字コードを調べる...
-
wordpressがMySQLに日本語デー...
-
フォームからPOSTされた値をXML...
-
海外で作成されたPHPスクリプト...
-
フォーム入力のエンコーディン...
-
HTTPヘッダはメタタグにも記述...
-
MySQL+PHPサイトでSJISからEUC...
-
自作cgiのページがIE10で文字化...
おすすめ情報