`
icekiller110
  • 浏览: 72486 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Rdoc支持中文的解决方案

阅读更多
    ruby中rdoc的中文乱码问题主要有两个地方要修改。
    第一个地方/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。
    也可尝试查看rdoc的源码,然后跟踪一下,位置我的是在/usr/lib/ruby/1.8/rdoc/rdoc.rb
  • rdoc.rar (8.7 KB)
  • 描述: rdoc.rb和option.rb源码
  • 下载次数: 2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics