12 コメント, 4 トラックバック
コメント from: Nishizaka 訪問者
トラックバック from: Webmaster日記 訪問者
cha-ki-sho - b2evolution 0.9.0.11 の日本語対応
b2evolution の日本語対応に関するメモが結構詳しく書かれています。感謝!
----
追加改造情報:
/b2evocore/_functions_hitlogs.php の460行目の
if( strpos( $q, 'テ' ) !== false )
を全てコメントアウトし...
コメント from: Nishizaka 訪問者
すみません。trackback の改造前に送信してしまいました。
削除してもらって構いませんので宜しくお願い致します。
コメント from: Jun MUTO メンバー
ありがとうございます。
検索キーワード部分は手を抜いてしまっていました。ご指摘ありがとうございました。
日本語限定(マルチバイト関数の 'auto' による自動判別の対象が日本語関連文字コードのみのため)ということで、追記しておきました。
日本語以外のブログでの問題回避のため、Nishizakaさんのコードよりちょっと複雑になってしまいましたが、やっていることは同じになります(と思います)。
また、ご要望通り、文字化けしたTrackbackは削除しておきました。
こちらで、改造前のb2evolutionから送られたTrackbackでも文字化けしないようにしていたつもりでしたが、生半可な知識でやっているため、うまく行かなかったようです。
ひとまず、他の日本語対応blogツール(WordPress ME や Nucleus CMSの日本語版Trackbackプラグイン)のTrackback受信部分を参考にして、変更内容を変えてみました。
/htsrv/trackback.php
の修正部分の中で、
if (!isset($charset)) $charset = mb_detect_encoding( $title . $excerpt . $blog_name, 'auto');
としていた部分を、
if (!isset($charset)) $charset = 'auto';
にしてみました。
多分これでいいと思うのですが…。
コメント from: Jun MUTO メンバー
昨日の今日で申し訳ありませんが、再度変更します。
/htsrv/trackback.php
の問題は、 !isset($charset)
でした。私が isset()
の動作を勘違いしていたのが原因です。
記事の「トラックバック」部分を修正しておきました。
コメント from: Nishizaka 訪問者
ども、ご返答有難う御座います。
どうも biosの再立ち上げの設定をしくじっているみたいでして。今、私の自宅サーバは台風の影響の停電で止まってしまっているみたいです。(笑)
早く帰って復旧させないと・・・。
その後に試してみますね。
国際化も考えて汎用的なパッチは嬉しいです。:)
そういえば、この修正情報って本家にも伝えてあるんでしょうか?
---
b2evolution を使っている所って少ないですねぇ~
インストールは簡単だしバージョンアップも凄く楽なんですけどね。もっと流行らせましょう。:)
コメント from: Jun MUTO メンバー
台風、Nishizakaさんのサイトを拝見しましたら、被害もあったそうで、大変でしたね。
(私の周囲は運良く被害はありませんでした。)
今のこの変更点は本家のほうには提案しにくいです。
ほとんどが日本語限定の対応で、日本語以外の場合に動作に支障が出ないように「おまじない」をかけている程度のものですので。
文字コード変換に使っている iconv か mb_convert_encoding がレンタルサーバでもっと一般的に使われていれば、また、mb_convert_encoding の自動判別が日本語以外にも対応していれば、他の言語に対応させるのも楽になりますから気楽に提案できるのですけど。
本家は本家で、西欧言語以外のことが考慮から抜けている場合も多々見られるので、日本語と西欧系しか考慮していない私のこの変更でも採用してくれるかもしれませんが、それでは後ろめたいというか自分の気持ちがすっきりしないところがあります。
広く普及させるには、Movable Type、Nucleus CMS、WordPress などの例に倣って、有志で「日本語版」を作って配布するのがいいのかな、と思います。
私は今のところ自分が使う機能しか触ってないので、今のこの変更だけで「日本語版」というのには不足があると思いますが、自分が使いたい機能を日本語対応してくれるパワーユーザが増えてくれば、「日本語版」作成も可能でしょう。
ユーザーが増えるのが先か、日本語版が出来るのが先か、鶏と卵みたいな話ですけど。
すごくやる気のある方が現われて、「日本語版」を作ってくれないかと、他力本願なことを願っています。
ここで、自分がやる、と手を挙げれないところが我ながら情けない…。
(長いコメントですみません)
コメント from: Nishizaka 訪問者
最近、めちゃめちゃ忙しくてサイト改造で遊んでいる暇が無くて・・・、まだ試せてません。m(__)m
本家のサイトを眺めていたら、日本語版の協力者にお名前を発見。:)
ほんとお世話になってます。
今のままでも、日本語でインストール出来るし、国際化対応版として全然差し支えの無い出来だと思いますけどねぇ~。:)
此処に書いてある部分だけをパッチ的に当てれば完全対応と言っても良い状態と思いますよ。
私こそ英語が苦手なので、ちょっとした指摘しか出来なくて逆に申し訳ないです。
コメント from: Jun MUTO メンバー
試すのは、お時間のある時で構いませんよ。
私は気の向いた時にのんびりやってますので。
気がついたことがございましたら、どんどんご指摘ください。
英語で本家に報告する必要があるようなことは、私も英語が苦手ですので、もたついたり、ヘルプを求めたりするかもしれません。
更なる日本語環境化
b2evolution はデフォルトでかなり日本語使えるんで問題は少ないけれど、bookmarklet で文字化けるし、どうやら検索ワードのところでも化けるらしいということで、cha-ki-sho さんの「投稿の詳�...
トラックバック from: cha-ki-sho 訪問者
b2evolution 0.9.0.11以前にSQLインジェクションの脆弱性
b2evolution 0.9.0.11およびそれ以前のバージョンに、SQLインジェクション(不正なSQLクエリを外部から送り込まれることにより、データベース上に保管している設定を書き換えられたり、ユー...
b2evolutionインストール
b2evolutionというblogツールをインストールしてみた。
あまり馴染みのないツールなのでとりあえずこちらのサイト参考にさせて頂き日本語環境を整理した。
私にとって未知の世界なので...
親切、丁寧な解説で、日本語化の参考にさせて戴きました。
貴重な情報をありがとうございます。
ただ、私の環境では、UTF-8グーグルはうまくいったのですが
YAHOO.co.jpとMSN.jpからのアクセスが、mbstring失敗の
エラーになります。(具体的には:mb_convert_encoding():
Unable to detect character encoding )Warningの
レベルなので、良いようなものですが、何とかならないものかと
Scriptを見ていますが、格納時が問題なのか??取り出し時か?
この記事にコメントを書き込めば、何か情報が得られるかと思い
記入したしだいです。
よろしく、お願いします。
コメント from: Jun MUTO メンバー
コメントいただきありがとうございます。お役に立つようなら、大変嬉しいです。
mb_convert_encoding(): Unable to detect character encoding エラーですが、サーバの設定に依存するエラーだと思われます。PHP-users MLの過去ログ「[PHP-users 21812]Re: mb_convert_encodingについて」によれば、php.ini で mbstring.language の設定が行われていない環境で、マルチバイト関数の文字セット自動判別機能を使用すると発生するようです。
エラーが発生する部分の前に mb_language('Japanese'); を指定することで、回避できるということです。
他にも気になっている部分がありましたので、改訂をして、新しく記事を作りました。「b2evolution 0.9.0.11 の日本語対応(改訂)」のほうをご覧ください。
すでに変更を行われたにも関わらず、再度の変更作業でお手数をおかけしますが、よろしくお願いします。
さっそくの書込み、ありがとう存じます。
ちょっと、ウチの環境を調べています。たぶん、サーバでのmbstringそのものは
アクティヴェイト済みですが、共有サーバなので他(複数言語で)のmbstringを
使用する可能性があって php.iniで日本語のみを固定的・明示的に宣言する事は
難しいかもしれません。この件は、これ以上投稿しても、当方の固有の設定の話で
皆さんに共通の話題ではないので・・・参考までに。
新しい改訂版を熟読してみます。改訂版による動作確認はレポート書込みします。
昨日の今日ですから、重ね重ね、ネットでの情報共有のありがたさを感じ、さらに
本サイトの執筆者に深い感謝をしています。私もしっかり努力して、できる範囲で
自然な形の貢献をしていきたいと改めて思った次第です。ありがとうございます。
こんにちは。
早速ですが、報告書込みします。
修正版(下記リンク)での
http://cha.s57.xrea.com/blogs/index.php/2005/03/14/p61
日本語対応方法に沿って、修正を実施しましたら、検索エンジンKeywordsの
文字化けが、解消されました。
ありがとうございました。
改造情報ありがとうございます。しっかり参考にさせて頂きました。
こちらは「経由検索エンジンのキーワード」が、この改造でも日本語がきちんと出ないものがありまして
/b2evocore/_functions_hitlogs.php の460行目の
if( strpos( $q, 'テ' ) !== false )
を全てコメントアウトして
$q = mb_convert_encoding($q, "UTF-8", "auto");
を追加したら、殆どの日本語がきちんと表示されるようです。