`
neodoxy
  • 浏览: 9932 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

解决在Leopard下irb不能输入非ASCII字符问题(python也有效)

阅读更多
本文仅适用自行编译的ruby版本
在Leopard下irb不能输入非ASCII字符是由于readline没有加入leopard配置造成的
可以通过Macports的方式重新安装readline库,如下:
sudo port install readline +universal

或者下载GNU的readline源代码:
curl -O ftp://ftp.gnu.org/gnu/readline/readline-5.2.tar.gz

tar xzvf readline-5.2.tar.gz

cd readline-5.2

curl -O http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-012

patch -p0 < readline52-012

./configure --prefix=/usr/local

make

sudo make install



然后对ruby的readline打补丁(推荐p230,已解决安全问题):
若没有源代码,请下载:
svn co http://svn.ruby-lang.org/repos/ruby/tags/v1_8_6_230/ ruby-1.8.6-p230


然后下载附件补丁,放置在与ruby-1.8.6-p230同一目录
cd ruby-1.8.6-p230
patch -p0 < ../ruby-osx.diff

编译ruby:
./configure --enable-shared --enable-pthread CFLAGS=-D_XOPEN_SOURCE=1
make
sudo make install

或者部分编译readline:
cd ext/readline
ruby extconf.rb
make && sudo make install

然后irb,你发现已经能够输入中文等非ASCII 字符了,恭喜恭喜
---------------------------------
更新:对于ruby-1.8.7-p22版本,也可以在修复readline之后,可通过以下方法修复此BUG
cd ruby-1.8.7-p22/ext
curl http://pastie.textmate.org/pastes/168767/download | patch readline/extconf.rb
cd readline
make && sudo make install 

注:如果目录中存在 readline.o 请先删除
参考文章:
http://www.forniol.cat/?p=97
http://michael.biven.org/2008/01/25/installing-ruby-on-rails-on-mac-os-105-or-patching-dan-benjamins-guide/
http://d.hatena.ne.jp/kmiyake/20080618/1213789747
http://henrik.nyh.se/2008/03/irb-readline
  • ruby-osx.rar (412 Bytes)
  • 描述: ruby补丁
  • 下载次数: 21
分享到:
评论
5 楼 ashchan 2008-07-04  
@robbin,10.5下console中输中文没问题。
4 楼 neodoxy 2008-06-25  
port安装要加上参数,能够编译当然是最好的
3 楼 capitain 2008-06-25  
兄弟你用的是port安装的readline么? 我的好像还是不行

但是自己编译就ok
2 楼 neodoxy 2008-06-24  
console可以直接显示汉字,调整字符集
1 楼 robbin 2008-06-24  
我以前安装过MacOSX 10.4.6版本,发现在Console里面输入汉字都被自动转换成为unicode格式显示了,当时十分郁闷,不知道现在10.5怎么样了,能不能直接显示汉字。

相关推荐

    Leopard 10.6下安装TextMate1.5.9

    标题 "Leopard 10.6下安装TextMate 1.5.9" 指的是在苹果操作系统Snow Leopard(代号Leopard)版本10.6上安装文本编辑器TextMate 1.5.9的过程。TextMate是一款非常受欢迎的、具有高度可定制性的文本编辑工具,尤其受...

    leopard硬盘安装助手v0.3

    其余的创建一个分区,就是用来安装mac的,盘符也可以不设置,不格式化(格成fat32也行) 现在我的分区是:C盘35g卷标vista,D盘50多g卷标movies,E盘光驱,F盘5g未格式化,剩下15g没有盘符。 3、安装: 下面就简单...

    Leopard hd install helper v0.3.rar

    描述中的“hinm fc ffvvb bjjjk y hjjijgb ssss ttttt”看起来像是随机字符或错误的文本输入,无法提供有意义的信息,因此我们将重点放在标题和标签上。 标签“lhd0.3”可能是该软件的简写或者开发者对这个工具的...

    Leopard hd install helper v0.3

    1. **硬件兼容性增强**:通过优化的引导代码,该工具能识别并处理多种非苹果原装硬件,使得Leopard能在更广泛的硬件平台上运行。 2. **简单易用的界面**:即使对Mac OS X安装流程不熟悉的用户,也能通过直观的界面...

    教你在VMWare下安装MAC OS X Snow Leopard 10.6

    在VMWare中安装MAC OS X Snow Leopard 10.6是一种常见的在个人计算机上体验苹果操作系统的解决方案。这种方法避免了物理硬盘分区和刻录光盘的步骤,而是直接使用虚拟化软件和DMG镜像文件进行安装。以下是一个详细的...

    leopard硬盘安装助手

    这个工具简化了用户在硬盘上安装Leopard的过程,使得非技术人员也能轻松进行系统安装。下面将详细介绍这款助手的功能、使用方法及相关知识点。 1. **Mac OS X Leopard**: Mac OS X Leopard是苹果公司推出的第六代...

    leopard 主题

    这个主题旨在为非苹果用户提供类似的视觉体验,让他们在Windows环境中也能享受到类似于Mac的界面设计。 【描述】中提到,该主题是针对那些对苹果Mac OS X Leopard界面情有独钟的用户设计的。如果你一直对苹果电脑的...

    Mac Leopard安装好后IDE光驱识别问题完美解决

    Mac Leopard安装好后IDE光驱识别问题完美解决

    leopard硬盘安装史重要更新 leopard硬盘安装助手v0.3

    新鲜出炉:leopard硬盘安装史重要更新:leopard硬盘安装助手!!支持iso文件! 1、格式化一盘为fat32,或将盘上所有文件(含隐藏的)删空 2、打开程序,选镜象文件(支持iso文件) 3、目标盘选刚才格的盘,点开始进行镜象 4、...

    MAC OS X Snow Leopard 10.6 引导镜像Rebel_EFI和darwin

    总的来说,MAC OS X Snow Leopard 10.6的引导镜像Rebel_EFI和darwin是为非Apple硬件和虚拟机环境下安装MAC OS X提供的一种解决方案。虽然这一过程涉及到了技术性的操作,但通过理解这两个组件的作用以及如何在VMWare...

    硬盘安装助手Leopard hd install helper

    此外,非官方支持的硬件可能会导致兼容性问题,性能也可能不如苹果原装硬件。因此,在尝试此类操作之前,用户应充分了解这些风险,并确保具备相应的技术知识和耐心。 总的来说,“Leopard hd install helper”是...

    Leopard hd install helper苹果硬盘安装工具

    描述中提到的关键信息是,该工具允许用户在不借助额外硬件的情况下,在XP系统下自动生成多系统启动菜单。这意味着用户可以在同一台电脑上同时安装并运行Windows XP和Mac OS X Leopard,这对于开发者、设计师或者那些...

    Sever版苹果Mac OS X 10.6 Snow Leopard雪豹操作系统的BT种子

    3. **Mail Server**:内置的邮件服务器支持Exchange兼容,使得非Windows环境下的用户也能与使用Microsoft Exchange的用户进行无缝协作,包括日历、联系人和任务同步。 4. **Web Server**:Snow Leopard Server包含...

    硬盘安装Leopard

    标题“硬盘安装Leopard”指的是将苹果公司的Mac OS X Leopard操作系统安装到计算机的硬盘上,而非使用光盘或USB驱动器进行安装。Leopard是Mac OS X的第十个主要版本,发布于2007年,它带来了许多新功能和性能改进。...

Global site tag (gtag.js) - Google Analytics