rb文件中写入中文字符有关问题

rb文件中写入中文字符问题!
最新发现ruby源代码文件(*.rb)中,不能写入中文,如果文件中有中文字符就会报错,导致运行不了,但可以将rb文件改成UTF8格式来解决,另存一下,就可以了。

不过,这时如果将这个UTF8文件中的中文字符删掉,同样运行不了报错,也就是如果文件中有中文字符必须设置为UTF8格式,如果没有必须设置为Ansi格式,否则会导致出错。

同样的问题在Java中就没事,看来ruby解释器还不太完善,
1 楼 qiezi 2006-12-11  
挺奇怪,没有中文字符(和特殊符号)并且没有BOM的UTF8和ANSI你能分得出来?如果都是ASCII字符,UTF8和ANSI编码是没有区别的。我遇到的唯一问题是ruby无法处理BOM。它总是把源文件当成ANSI编码处理的,即便设置了KCODE,也只是改变了某些库的行为,并不影响它的内部表示。
2 楼 wlbookwl 2006-12-11  
使用window自带的记事本或Editpluse打开rb文件,另存时会你可以看到有一个选项显示编码。

确实是无法显示无中文这符的UTf8文件,你没遇到过吗?

我的ruby版本是185-21



3 楼 qiezi 2006-12-11  
记事本应该是会保存BOM的,ruby对BOM支持不好,所以我不推荐用它。