[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: UTF-8 のプロセス呼び出しで文字化け



On 1/27/06, 白井秀行 Hideyuki SHIRAI <shirai@xxxxxxxxxxx> wrote:

> (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)
	     ""))

> # うちのグループの会社の人ならそのまま差し上げても良いのですが ^^;;;
> ## To: の後に日本語書いて補完はいやなので、ローマ字変換とかいろ
> ## いろやっています。

これは結構欲しい人がいるんじゃないかなぁ。
mew-ldap.elの諸権利を譲りますので、よいものに仕上げてほしいなぁ。:-)

白井さんのやりかたでも結構十分だとは思いますが、レスポンスでは
cn:: 5ZCN54Sh44GX44Gu5b6M6Jek
あるいは
cn;lang-ja::5ZCN54Sh44GX44Gu5b6M6Jek
といった形式が正式にあるので、LDAPの正しいリクエスト方法を調べて、
正しいエンコード方法を実装するのもよいかも。
なんにせよldapsearch.exeによ依存してしまうところもあるかもしれませんが。

うちは英語名だけしか登録してなくて、漢字の名前がわからない
という環境なのでこういう問題にあたらない代わりに恩恵もない。

--
Shun-ichi GOTO (後藤俊一)