環境はxp、apache2、php5、Postgresql8.2です。
1台のPCをサーバ&クライアントにしています。
ただ今PHPとPostgresqlの勉強をしています。
文字化けをしてしまい困っています。
Excelデータからcsvに落として、
それをpostgresのテーブルに書き込みました。
ここまでは上手く行きました。
ところが、良く確認してみると
ハシゴの「髙」(高)や「﨑」(崎)「祥」などの文字が
「?」に置き換わってしまいます。
これをPHPで表示されてても同じです。
ご教示して頂けたら幸いです。
No.3ベストアンサー
- 回答日時:
ぽすぐれ ML過去ログ
http://ml.postgresql.jp/pipermail/pgsql-jp/2005- …
EUCであればこれがビンゴかな。
EUCにも二種類あり、それぞれ特殊文字の扱いが違います。
// PostgreSQLの文字コードはeucJP-openなんですね・・・
// 当然といえば当然だが・・・
MLログにもあるように諦めるしかない気がします。
解決策としては「EUC-JPを使わない」となります。
PostgreSQLの内部コードをsjisにするか、
CSVファイルをUTF-8に変換しPostgreSQLの内部コードをUTF-8に変えた上で入れ込むしか策はないかも。
ご返事が遅れましてすいません。
$line[0] = mb_convert_encoding($line[0],"eucJP-win","sjis-win");
で解決致しました。
No.4
- 回答日時:
$line[0] = mb_convert_encoding($line[0],"EUC-JP","sjis-win");
を
$line[0] = mb_convert_encoding($line[0],"CP51932","sjis-win");
にしたらどうでしょう
PHPのバージョンが低いと使えませんが
No.2
- 回答日時:
問題の切り分けをしましょう。
Excel→CSVの過程で崩れたのか、CSV→(PHP)→PostgreSqlで崩れたのか判断できません。
予測ですが、excel(sjis)->csv(sjis)->postgre(euc?utf8?)としていて
マッピングに失敗しているのではいかと思います。
(機種依存文字、正確にはIBM拡張?はutf8変換で暗黙的に扱ってくれなかった記憶があります)
投入するcsvをDBに合わせるか、DBをCSVに合わせるかするといけるかもしれません。
この回答への補足
ご返事有り難うございました。
>Excel→CSVの過程で崩れたのか、CSV→(PHP)→PostgreSqlで崩れたのか判断できません。
CSV→(PHP)→PostgreSqlで崩れました。
>投入するcsvをDBに合わせるか、DBをCSVに合わせるかするといけるかもしれません。
のところが少し分からないのですが・・・。
最初は、postgresのテーブルに書き込むと
全て文字化けをしていました。
そこでエンコーディングを変換して書き込むと
大方のデータを書き込むことが出来ました。
$line[0] = mb_convert_encoding($line[0],"EUC-JP","sjis-win");
ところが、質問をしましたように
ハシゴの「高」が「?」に置き換わってしまいました。
>(機種依存文字、正確にはIBM拡張?はutf8変換で暗黙的に扱ってくれなかった記憶があります)
と、ご教示して頂いたので、見当違いかも知れませんが
$line[0] = mb_convert_encoding($line[0],"utf8","sjis-win");
と、試してみましたがエラーになりました。
ご教示して頂けたら幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
PHP+Postgres 「髙」が文字化け
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アップロードファイルを表示す...
-
PHPで画像の渡しが上手く行きま...
-
php エラー
-
PHP 「あいまい検索」を行う関...
-
PHP MySQLに画像を直接保存
-
PHPのセッション有効期限について
-
PHPのエラーの解消法について教...
-
preg_matchで Warning: Undefin...
-
PHPで新規でファイル作成するや...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
phpのheader("Location:#pos")...
-
PHPからCSVをアップロード後、m...
-
[php初心者]サイトを見てデータ...
-
phpに関わる所での、form actio...
-
ゆゆにゃ。
-
【初心者】XAMPPのapacheの(恐...
-
プログラミング言語で、使える...
-
こちらはただの直列処理ですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エンコーディングについて
-
scandir関数取得結果の文字化け
-
PHPExcelで日本語(漢字)ファ...
-
PHPの文字化けした文字だけ削除...
-
phpのhex2binについてphpで、ut...
-
mb_convert_encoding で?になる。
-
データベースから取り出した日...
-
年と曜が文字化け・・・対応策...
-
php5,MySQL5で文字化けが起こる
-
ハシゴの「高」が「?」に置き...
-
PHPでCSV出力時の文字化け(一部)
-
フォームメール:メール受信時...
-
枻という字が?になる
-
携帯から日本語をフォーム送信→...
-
mb_http_output()のあと、サー...
-
PHPの文字化け
-
Linux + phpで2バイト文字のパ...
-
文字化けしたソースを読み取る...
-
PHPフォームからメールを受信し...
-
mysql utf8、php・euc-jp で出...
おすすめ情報