[groonga-dev,00490] Re: mroonga で ujis

Back to archive index

Kouhei Sutou kou****@clear*****
2011年 4月 7日 (木) 13:08:42 JST


須藤です。

In <20110****@schwe*****>
  "[groonga-dev,00489] mroonga で ujis" on Thu, 07 Apr 2011 12:47:09 +0900 (JST),
  ICHII Takashi <ichii****@schwe*****> wrote:

> ちなみに、はじめ ./configure --help を見て --with-default-encoding=euc にしてました。
> lib/str.c の grn_strtoenc() 的に euc_jp じゃないとダメそうですね。

あぁ、たしかにそうですね!
configureの説明を修正しておきました!
ありがとうございます。

> これで mrn_init では ctx->encoding = GRN_ENC_EUC_JP になっているのに、試しに insert すると
> ha_mroonga::write_row では UTF8 になってしまいます...。

うーん、動かしていないので予想なのですが、grn_ctx_use()が怪
しいかもしれません。

ha_mroonga::open()内の

  grn_ctx_use(ctx, db);

かha_mroonga::create()内の

  grn_ctx_use(ctx, db_obj);

の前後でctx->encodingを確認するとどうなっていますか?
grn_ctxよりもgrn_dbのencodingの方が優先されるので、もし、既
存のdbがUTF8で作られてしまっているのであれば、そちらに引っ張
られてしまいます。

もし、↑のgrn_ctx_use()後にctx->encodingが変わっているのなら、
mroongaのデータベースを作り直すとEUC-JPで動くようになる気が
します。

-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)

プログラミングが好きなソフトウェア開発者を募集中:
  http://www.clear-code.com/recruitment/




groonga-dev メーリングリストの案内
Back to archive index