MySQLからCSVファイルへ出力すると全角ハイフンが ? となってしまいます。
現在は?の場合に半角ハイフンに変換していますが、みなさんどのように
対処されているのでしょうか?
他にいい対処方法があるのなら、教えて頂きたいと思います。
よろしくお願いします。
« 最終編集者 lavino72 日時 2009 年 1 月 13 日(火) 14:29. »
ページ: 1
投稿者 | 投稿 |
---|---|
#1 2009 年 1 月 13 日(火) 14:21
|
|
会員
登録者: 1 2009
返信数: 4
|
全角ハイフンについてお尋ねしたい事があります。
MySQLからCSVファイルへ出力すると全角ハイフンが ? となってしまいます。 現在は?の場合に半角ハイフンに変換していますが、みなさんどのように 対処されているのでしょうか? 他にいい対処方法があるのなら、教えて頂きたいと思います。 よろしくお願いします。 « 最終編集者 lavino72 日時 2009 年 1 月 13 日(火) 14:29. » |
#2 2009 年 1 月 14 日(水) 10:32
|
|
会員
登録者: 10 2007
返信数: 71
|
おかしくなるのは全角ハイフンだけでしょうか?
またMySQLから取得したデータはそのままCSVファイルに書き込みしているということでいいでしょうか? もしハイフンだけでなく他の文字もおかしくなるようでしたら文字エンコーディングの問題が疑われます。できたらPHPとMySQLそれぞれの文字エンコーディング設定がわかると良いのですが、MySQLの設定はmysqlクライアントを実行するか、phpでMySQLとやり取りして設定を確認する必要があります。PHPはphpinfo()の方法でいいですね。 |
#3 2009 年 1 月 15 日(木) 14:42
|
|
会員
登録者: 1 2009
返信数: 4
|
kona@m様
返事が遅くなって申し訳ありません。 文字化けするのは「全角ハイフン」と「~」です。 他にもあるとは思いますが、今のところ症状は出ていません。 レンタルサーバーでphpinfo()を実行してみましたが、確認できませんでした。 (Configuration File (php.ini) Path /etc/php.ini といった感じでパスが出るだけで、設定の内容は確認できませんでした) レンタルサーバー側のは調査していないのですが、おそらくEUC-JPに なっていると思います。 MySQLはUTF-8で作成されています。 (現在はmb_convert_encodingで「EUC-JP」から「SJIS」に変換して出力しています。) 本当はPHPの設定もUTF-8に変えたいんですが。。。 もしサーバー側でphpの設定を変更できないとしたら、どうするのがベストなのでしょうか? もし何か分かりましたら、アドバイス頂きたく思います。 よろしくお願いいたします。 |
#4 2009 年 1 月 16 日(金) 11:12
|
|
会員
登録者: 10 2007
返信数: 71
|
phpinfo()を実行してもパスの情報だけでしたか・・・通常はもっとたくさんの設定情報が得られると思っていたのですが。ページの縦が結構長くなり、何度もスクロールしないと全体が見渡せないほどになるのでもう一度確認して頂いてもいいですか?
<?php phpinfo(); ?> もし本当にダメだったらこちらも試してみて下さい。 <plaintext><?php それと、phpの設定を変更したいということですが、phpinfo()の情報で「Server API」という項目が「Apache Handler」か「Apache 2.0 Handler」ならば「.htaccess」ファイルを利用して変更させることができるかもしれません。 |
ページ: 1
日本PHPユーザ会 掲示板 は UseBB 1 フォーラムソフトウェア を使用しています