[#41750] cygwinでRDtoolなどがインストールできない — Kouzuma Kunikazu <kuni92@...>
はじめまして、上妻 久仁和 と申します。
9 messages
2006/01/01
[#41751] Re: cygwinでRDtoolなどがインストールできない
— rubikitch <rubikitch@...>
2006/01/01
From: Kouzuma Kunikazu <kuni92@sings.jp>
[#41752] Re: cygwinでRDtoolなどがインストールできない
— nobu@...
2006/01/02
なかだです。
[#41753] [ANN] Subversion 1.3.0 released. — Kouhei Sutou <kou@...>
須藤です.
4 messages
2006/01/02
[#41790] Ruby組み込み時の拡張ライブラリの静的リンク — 湊大典 <minato.daisuke@...>
こんにちわ、湊大典@会津大です。
5 messages
2006/01/19
[#41795] Ruby/SDL Segmentation fault — Kouhei Yanagita <yanagi@...>
こんにちは。柳田です。
4 messages
2006/01/21
[ruby-list:41782] Re: YAMLのマルチバイト文字列の扱いについて
From:
西 啓一朗 <receiver@...>
Date:
2006-01-17 22:50:51 UTC
List:
ruby-list #41782
ども、西啓一朗@Ktouth Brand. です。
えーと、まとめると
* YAMLの本来の仕様だと、エンコードはUnicode(UTF8)でなければならない
* 1.8.3以降、yaml.rb/syck.so も本来の仕様に合わせようとしている
* が、現状「バイナリ判定」および「文字のエスケープ処理」が日本語を
意識しない作りになっている。
* :to_yaml 等に渡す文字コード(:Encoding)はまだ未処理。
と言うことで良いのでしょうか?
ソースを追ってみたところ、バイナリでなくインスタンス変数を持たないString
は YAML::Syck::Out#scalar に 文字列として渡され、SyckNodeに格納されてい
ました。
で、おそらくココが文字列を出力している部分なのでしょうが……
emitter.c:
syck_emit_scalar
→ syck_emit_2quoted
→ syck_emitter_escape
と飛んでエンコード処理の一切がない形でエスケープ処理を行っています。
rubyコードをだいぶん離れた書き方をしてあるのでどういじればいいのかさっぱ
りです^^;
On Tue, 17 Jan 2006 19:57:48 +0900
"H.Yamamoto" <ocean@m2.ccsnet.ne.jp> wrote:
H.Yamamoto> こんにちは、山本です。
H.Yamamoto> ちょうどこの辺りを調べていたところでした。
H.Yamamoto>
H.Yamamoto> ひとつは、YAML のバイナリ判定が甘いために、マルチバイト文字が
H.Yamamoto> バイナリと判定されることがあるためです。(lib/yaml/rubytypes.rb)
(中略)
H.Yamamoto> こうすると、バイナリではなく文字列として出力されると思います。
H.Yamamoto> ただ、それでも日本語じゃなく、エスケープシーケンスが出力されると思います。
H.Yamamoto> これが挙動としてどうなのか、YAML の仕様的にどうなのかはまだわかっていません。
H.Yamamoto>
H.Yamamoto> http://yaml.org/spec/current.html#id2513364 によると、YAML は UTF じゃないと
H.Yamamoto> いけないらしいのですが、それにしては UTF-8 を渡してもエスケープされますし・・・
H.Yamamoto>
H.Yamamoto> # YAML は 1.8.3 で大きな変更があり、これもそのひとつです。なお、メンテナは
H.Yamamoto> # 外国の人で、why the lucky stiff と言います。
--
西 啓一朗 <ktouth@k-brand.gr.jp>