• ベストアンサー
  • すぐに回答を!

瓢箪は表示されますが、難しい’たん’を使っている

瓢箪は表示されますが、難しい’たん’を使っている 瓢?(ひょうたん)のたんが、CSVダウンロードした時に EXCELで表示すると文字化けしてしまいます。 使用環境の文字コード:MySQLm、PHP 'UTF8' ダウンロード時のエンコード: 'SJIS-win' 対策として、 ・文字コードの置き換えを行う。 ・システム上で使用させない。 など考えてみました。 PHPで置き換えを行う際、 どのように行えばよろしいでしょうか。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数275
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

単純に、「難しい"たん"」が来たら「箪」に変換するというようなプログラムを書くだけではないでしょうか。 旧字体と新字体は文字コード上で無関係な位置にありますので、この変換にはその対応が書かれた辞書が必要です。 そのような辞書は残念ながら私は知りませんが…。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

EXCELレシーバーで試したところ表示されました。 http://chazuke.com/

質問者からの補足

ありがとうございます。 難しい”たん”だけを持つ辞書を作成しようとしています。 文字を16進数で取得し、置き換える様なことはできるのでしょうか。

関連するQ&A

  • MySQLでの文字化けについて

    すいません、教えてください。 PHP(PHP-5.2.4)でCSVファイル を読み込んでMySQL(4.1.22)に INSERTしているのですが文字化けします。 SJIS→utf8_general_ciです。 いろいろ調べて ~ $wk[$i] =mb_convert_encoding($csvfile[$i],'UTF-8','SJIS-win'); ~ とかやってみたのですがうまくいきません。 どなたかよろしくお願いします。

    • 締切済み
    • PHP
  • MySQL5.1の文字化け

    多くの方が同様の質問をされていたのですが、一致する問題が見つけれなかったので、ご存じの方がおられたら教えて下さいm(_ _)m (環境)  PHP 5.2.8 ZendFramework 1.5.1 から Pdo Mysqlを使用  文字コード:SJIS  Mysql 5.1  文字コード:EUC-JP (質問内容) 携帯の絵文字データをSJISのバイナリでスクリプト中に埋め込むため、スクリプトの文字コードをSJISに統一したところ、文字化けが発生しました。 SET NAMES SJIS のSQLを発行することで表示は正しくできるようなったのですが、新たにレコードを追加しようとすると文字化けが発生します。 例)情報 → 情表 insertを行う前の文字コードをSJIS,SJIS-win,EUCと変えてみましたが、SJISもしくはSJIS-winの場合は上記の例のとおりとなり、EUCにすると完全な文字化けとなりました... おそらく登録時にMYSQLがSJIS→UTF8→EUCに変換される時に正しく変換されていないものと思われるのですが、どなたか対処方法をご存じないでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • CakePHPでDBに入れる際文字化け

    お世話になります。 現在CakePHPで携帯サイトを作成しているのですが、 通常出力は問題ないのですが、 フォームからDBに入れる際に文字化けが起こります。 ■現在行っている設定 charset=SJIS ファイルの文字コード:SJIS CakePHPのdatabese.phpのエンコード設定:SJIS MySQL の文字セット: UTF-8 Unicode (utf8) ご教授よろしくお願いいたします。

    • 締切済み
    • PHP
  • 統合漢字をWEBより入力し文字化け

    CJK統合漢字をWEBより入力しブラウザとEXCELで表示させたいのですが、 文字化けを起こし’?’となって困っています>< どのように解決すればよろしいでしょうか。 設定している文字コードは PHP 文字コード utf8 MySQL 文字コード utf8 になります。 よろしくお願いします。

  • 名前が日本語のファイルダウンロード方法

    IEでページを表示して、そこのリンクをクリックするとダウンロードの画面が開きダウンロードするという方法で http://test.com/日本語.xls をクリックしたとき、ファイルはあるにもかかわらず、ファイルがないというエラーが出ます。 php側の文字コードは「utf8」です。 mb_convert_encoding($filename, "SJIS", "utf8") としてもダメでした。 この方法でダメな場合、他に方法はありますか?

    • ベストアンサー
    • PHP
  • PHPの文字コード変換について

    PHPで mb_convert_encodingを用いて UTF-8で記述されたPHPスクリプトファイルの PHPファイル内の任意の文字列の文字コードを変換する場合、 $value = "文字列"; $str = mb_convert_encoding($value ,"UTF8","UTF8"); print $str; この場合、特に問題なく、変換がおこなわれます というか、意味のないで処理ではありますが。 次に $str = mb_convert_encoding($value,"EUC-JP","EUC-JP"); とした場合 うまく文字列の文字コードの変換がおこなわれず 出力内容は文字化けします。 次に $str = mb_convert_encoding($value,"SJIS","SJIS"); とした場合 EUC-JPと同じく文字コード変換に失敗し 文字化けするだろうとおもいましたが おもいのほかブラウザの文字コードUTF-8のままで文字化けしていないのです。 これはどういう現象でしょうか? たとえば一つ目は UTF8で記述されたPHPファイルの文字列をそのままUTF-8として 変換されせるのですから、問題ないはずです。結果問題ありません。 二つ目は UTF-8でかかれたPHPファイルの文字列をEUC-JPでかかれたファイルとして EUC-JPという文字コードに変換しなさいという命令ですよね? これは思う通りにいかなくて文字化けした文字列が出力されるのはわかるのですが 三つ目はUTF8で記述された文字列をSHIFT-JISとしてSHIFT-JISに変換しようとしているにも かかわらず、結果問題なくブラウザのUTF-8で文字列と表示されてしまいます。 これはいったいどういう事なのでしょうか? これが仮に $str = mb_convert_encoding($value,"SJIS","UTF-8"); なら話は簡単んです。 UTF-8で記述されたファイルの任意の文字列を UTF8からSJISに変換しようとしているのですから問題なく SHIFT-JISでエンコーディングされた文字列が帰ってくるはずです。 こ乃原因をご存知のかたよろしくご教授ください。 お願い致します。

    • ベストアンサー
    • PHP
  • ExcelからCSVファイルへの変換と文字化け

    エクセルからCSVファイルへの変換したときの文字化けに悩まされています。 たとえば、 千代田区大手町19-1 という住所がはいっているセルがあり、CSVに変換すると、 千代田区大手町19?1 となります。 エクセルで開いても、テキストエディタで開いても「-」が「?」に文字化けします。 エンコードの問題なのでしょうが、どうすれば文字化けが解消されるのか、わかりません。 エクセルはデフォルトではSJISで保存されるようなので、 UTF8で保存すれば、文字化けはなくなるのかもしれません。 ただ、 http://web-laboratories.com/excel-csv こちらのサイトにあるように、 [WEBオプション]をつかってUnicode[UTF-8]で保存しても、 テキストエディタで開きなおすと、SJISのままになっているようです。 文字化けをさせないCSVファイルへの保存のやり方を教えてください。

  • UTF8の「-」をsjisで表示する

    mysqlに「1-1-1」という文字をUTF8で登録しました。 sjisで書かれたphpファイルでこの文字を表示するために、sjisに変換したのですが 「1?1?1」となってしまいます。 うまく表示するにはどうすれば良いでしょうか?

    • ベストアンサー
    • MySQL
  • mysqlの文字化けについて

    さくらサーバーのプレミアムプランで、MYSQLが文字化けを起こして困っています。 MYSQL5.1、データベースの文字コードはUTF8です。 UTF8でエンコードされたPHPプログラムからデータをINSERTすると文字化けを起こします。 ハッスルサーバーで同じ環境を再現すると、文字化けは起こしません。 違いは、ハッスルサーバーでは、「character_set_server utf8」になっているのに対して、 さくらサーバーでは、「character_set_server ujis 」となっています。 この、ujisをutf8に変更すれば解決しそうに思うのですが、変更の仕方がわかりません。 アドバイス頂けましたら、幸いです。

  • cakephpでファイルをダウンロードする処理を作成しているのですが、

    cakephpでファイルをダウンロードする処理を作成しているのですが、 safariでは、ファイル名に全角が入った場合に文字化けしてしまいます。 文字コードは、UTF-8→SJIS-winにエンコードしているのですが、 Firefox、IE7、Google Chromeでは文字化けが起こりません。 何か対応策はあるでしょうか?

    • 締切済み
    • PHP