[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: UTF-8 のプロセス呼び出しで文字化け
- X-ml-count: 6928
- Subject: Re: UTF-8 のプロセス呼び出しで文字化け
- From: Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxx>
- Date: Fri, 27 Jan 2006 20:43:35 +0900 (JST)
- X-mailer: Mew version 4.2.53 on Emacs 22.0.50 / Mule 5.0 (SAKAKI)
From: Shun-ichi GOTO (後藤俊一) <shunichi.goto@xxxxxxxxx> さん曰く
Subject: Re: UTF-8 のプロセス呼び出しで文字化け
Message-ID: <2288dbd90601270318t1d53ab8fq9dce3ceef9c7c90f@xxxxxxxxxxxxxx>
Date: Fri, 27 Jan 2006 20:18:53 +0900
> > (defun encode-ldap-utf8 (string)
> > (let* ((utf8 (encode-coding-string string 'utf-8))
> > (len (length utf8))
> > (i 0)
> > ret)
> > (while (< i len)
> > (setq ret (concat ret (format "\\%02x" (aref utf8 i))))
> > (setq i (1+ i)))
> > ret))
> >
>
> elisp的には以下が短くてヨイよ
> (defun encode-ldap-utf8 (string)
> (mapconcat (lambda (x) (format "\\%02x" x))
> (encode-coding-string string 'utf-8)
> ""))
mapcar, mapconcat を毛嫌いしているときに書いたコードかな?それと
も aref に惚れていた時期か?
最近どうでも良くなってきてしまったのだけど、Zaurus だといまだに
map* と while の処理速度の差が体感できたりするコードがあるよ。
# ここはそんなに速度が必要なところではないから、後藤さんの方が素
# 敵ですね。
> > # うちのグループの会社の人ならそのまま差し上げても良いのですが ^^;;;
> > ## To: の後に日本語書いて補完はいやなので、ローマ字変換とかいろ
> > ## いろやっています。
>
> これは結構欲しい人がいるんじゃないかなぁ。
さすがに『shirai => 白井』は無理でしょう。うちの会社はカタカナだ
から suikyo 使って『shirai => シライ』『sirai => シライ』が可能
だったけど、森下さんのところは読み仮名で OK ってないのかな?
> mew-ldap.elの諸権利を譲りますので、よいものに仕上げてほしいなぁ。:-)
## 権利がなくても、やりたいときは勝手にやるけど :-p
> 白井さんのやりかたでも結構十分だとは思いますが、レスポンスでは
> cn:: 5ZCN54Sh44GX44Gu5b6M6Jek
> あるいは
> cn;lang-ja::5ZCN54Sh44GX44Gu5b6M6Jek
> といった形式が正式にあるので、LDAPの正しいリクエスト方法を調べて、
> 正しいエンコード方法を実装するのもよいかも。
mew-ldap の改造をしていた当時、手探りでレスポンス側の真似をした
りして実験したのだけど、全部ダメだった。で、ぼくの方法はふと試し
たら出来ちゃった方法。だけど、今調べると、
http://www.ietf.org/rfc/rfc2254.txt
http://www.cysol.co.jp/ldap/2254/rfc2254JP.html
の 5章の最後で正解だったようですな。へへへ。
> なんにせよldapsearch.exeによ依存してしまうところもあるかもしれませんが。
当時 Solaris で make した OpenLDAP でも動いているよ。(短い)rfc2254
読んだけど大丈夫なんじゃない。
## ldapserch の help に rfc2254 って書いてあったとは気付かなかっ
## た。
> うちは英語名だけしか登録してなくて、漢字の名前がわからない
> という環境なのでこういう問題にあたらない代わりに恩恵もない。
## ちゃんとしたデータ管理がされている LDAP サーバって羨ましいか
## も。組織での絞りこみも出来ないフラットなデータ構造なので、佐
## 藤さんとか田中さんとかは下の名前までわからないと簡単に limit
## over :-<
--
白井秀行 (mailto:shirai@xxxxxxxxxxx)