Home > SQLiteManager1.1.0で文字化けが発生する
SQLiteManager1.1.0で文字化けが発生する
- 2005-06-15(2005-06-15 16:25:42)
HotPHPPERでSQLiteManagerバージョン1.10リリースのアナウンスがあったのでインストールしてみた。
が。
日本語が化けまくる。
最初はlangファイルのエンコードがEUC-JPからUTF-8になったのかなと思ったけどソースを確認してみるとそうではない。
適当にごにょごにょしてて、langファイルからwordを取り出す所に問題があることがわかった。
include/SQLite.i18n.phpの47行目。
htmlentitiesがうまく動いてないので(*1)htmlspecialcharsに置換してみたら化けなくなったので日本語のlangファイル作成を担当している廣川 類さんにメールおくってみた。
$res = htmlentities($this->tabText[$index],ENT_NOQUOTES); を $res = htmlspecialchars($this->tabText[$index],ENT_NOQUOTES); にして、 以降三つのstr_replaceもはずしてしまえばいいかなと。
しかも、「僕は英語とかわからないのでサクーシャの人に直すようにいってください><><」とか無理すぎるお願いをする。
そしたらすぐに返事をくれて、俺よりも遥かにスマートな修正を入れたSQLite.i18n.phpを送ってくれた。文字化けの原因はhtmlentitiesは第3引数にencodingを指定しないとうまくいかない。というもので廣川さんは、クラスのコンストラクタで読み込んでいるlanguageファイルを識別して文字コードを指定するように変更してくれた。
感動した!いい人すぎる!
このfixが早く反映されるといいなぁー
Comment
- こぶ - 2006-02-03 13:30:42
-
始めまして。
最近SQLiteManager1.1.3を使用しはじめた者です。
同じく文字化けで悩んでいます。
初期画面で言語をJapaneseと選択すると正しく表示されるのですが、データベースから取り出した値が文字化けしてしまいます。
データベースへはUTF-8で格納しています。
仮にEUC-JPで格納すると、正しく表示されます。
いろいろ調べたところ、SQLiteはUTF-8を推奨している様子なので、できればUTF-8を使用したいのですが・・・。
SQLiteManagerのどこかを触れば正しく表示されるのでしょうか?
ご存知の方、ご教授下さいm(__)m
以下は私のphp.iniのmb_stringです。
mbstring.detect_order = auto
mbstring.encoding_translation = On
mbstring.func_overload = 0
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.internal_encoding = EUC-JP
mbstring.language = Japanese
mbstring.substitute_character = "設定値なし" - halt - 2006-02-06 01:37:58
-
単純に日本語のlanguageファイルがEUC-JPだからというだけです。
languageファイルをUTF-8に変換してみてください。 - こぶ - 2006-02-07 02:03:36
-
ご指摘ありがとうございます。
japanese.inc.php の10行目辺りの$charsetをutf-8として、
ファイルもUTF-8で保存しなおしたところ、ページ毎に以下のエラーが発生しました。
Warning: cannot yet handle MBCS in html_entity_decode()! in /virtual/www/SQLiteManager/include/common.lib.php on line 202 (211回発生)
Warning: cannot yet handle MBCS in html_entity_decode()! in /virtual/www/SQLiteManager/include/common.lib.php on line 269 (1899回発生)
Warning: cannot yet handle MBCS in html_entity_decode()! in /virtual/www/SQLiteManager/include/common.lib.php on line 273 (422回発生)
上記エラーが表示された最下部に値が文字化けせずに表示されていました。
もう少し!という感じがするんですが。。。(泣) - halt - 2006-02-07 14:35:22
-
記事にしました。私の環境だとうまくいったのですが、、
SQLiteManager1.1.3でUTF-8のlangファイルを作る
http://project-p.jp/halt/anubis/blog_show/525
Comment Form
Trackback
TrackBackPingURL:
Referer
- 190hit: http://project-p.jp/halt/kinowiki/SQLiteManager
- 96hit: http://project-p.jp/halt/anubis/blog_show/525
- 68hit: http://project-p.jp/halt/kinowiki.php/SQLiteManager
- 26hit: http://project-p.jp/halt/wiki/SQLiteManager
- 19hit: http://project-p.jp/halt/anubis/blog_show/380
- 15hit: http://www.google.co.jp/search?hl=ja&q=sqlite+絖&lr=
- 12hit: http://project-p.jp/halt/
- 9hit: http://www.google.co.jp/search?hl=ja&q=sqlite+絖&lr=lang_ja
- 8hit: http://project-p.jp/halt/anubis/blog_log/php
- 8hit: http://www.google.co.jp/search?hl=ja&q=SQLite+絖&lr=
- はてブ
-
- これからSmartyでもはじめてみるかという人へのサンプル - /halt/Snapshot
- SimpleTest - CakeWiki
- NSIS/Reference - CakeWiki
- LVMで構築されたディスクをUSBでつないでマウントする - /halt/Snapshot
- ruby/Tips/実行しているファイルのパスを取得 - CakeWiki
- ReactOS - CakeWiki
- プラグイン - CakeWiki
- OpenOffice Calcでリアルタイムスプレッドシートのデータを読む - /halt/Snapshot
- php/Tips/ファイルの結合 - CakeWiki
- CENTURYのplus oneモニタがVGAで便利 - /halt/Snapshot
- php/Ethna/ActionForm - CakeWiki
- vim - CakeWiki
- UbuntuとDell 2001FPと945g(i810) - /halt/Snapshot
- SQLiteManager - CakeWiki
- Munin - CakeWiki
