ruby中rdoc的中文乱码问题主要有两个地方要修改。
第一个地方/usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/tasks/documentation.rake
不过我用的是rails2.3.5,这个问题升级以后已经修改过了。
第二个地方在/usr/lib/ruby/1.8/rdoc/options.rb 中的
将其中的GB2312(384行左右),改成utf-8即可。
这个地方控制生成的html模板的编码。
这两个地方如果没有问题,你使用rdoc生成的doc文档肯定就是utf-8的了,支持中文就没有问题。
如果还有有问题,可能你改的位置不对,因为你可能装了多个版本的ruby。
[color=red]也可尝试查看rdoc的源码,然后跟踪一下,位置我的是在/usr/lib/ruby/1.8/rdoc/rdoc.rb[/color]
第一个地方/usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/tasks/documentation.rake
Rake::RDocTask.new("app") { |rdoc|
rdoc.rdoc_dir = 'doc/app'
rdoc.title = "Rails Application Documentation"
rdoc.options << '--line-numbers' << '--inline-source'
rdoc.options << '--charset' << 'utf-8' #<--要多這一行
rdoc.rdoc_files.include('doc/README_FOR_APP')
rdoc.rdoc_files.include('app/**/*.rb')
rdoc.rdoc_files.include('lib/**/*.rb')
}
不过我用的是rails2.3.5,这个问题升级以后已经修改过了。
第二个地方在/usr/lib/ruby/1.8/rdoc/options.rb 中的
@charset = case $KCODE
when /^S/i
'Shift_JIS'
when /^E/i
'EUC-JP'
else
'GB2312'
end
将其中的GB2312(384行左右),改成utf-8即可。
这个地方控制生成的html模板的编码。
这两个地方如果没有问题,你使用rdoc生成的doc文档肯定就是utf-8的了,支持中文就没有问题。
如果还有有问题,可能你改的位置不对,因为你可能装了多个版本的ruby。
[color=red]也可尝试查看rdoc的源码,然后跟踪一下,位置我的是在/usr/lib/ruby/1.8/rdoc/rdoc.rb[/color]