Hooopo老大已经有一篇
UTF8编码和正则表达式,所以,有看这篇需求的,上面的也可能用到。
正文:
在一些特别的需求下,我们需要放弃UTF-8的好处而转换格式到ASCII,通常在处理遗留系统的时候,会遇到这样的问题。那么,下面是解决的办法:
例如,想要把如下字符转换成ASCII
引用
çéß
转换成
引用
cess
实际上在MAC的系统上,我们可以简单的通过下面的脚本进行转换。
s = "çéß"
s = Iconv.iconv('ascii//translit', 'utf-8', s).to_s # returns "c'ess"
s.gsub(/\W/, '') # return "cess"
实现很容易,效果也不错,可是,当要在Debian或者其他Linux系统下使用是,往往会遇到下面的invalid characters错误提示:
Iconv::InvalidCharacter: "\351?"#错误提示
from (irb):7:in `iconv'
from (irb):7
from (irb):6:in `collect'
from (irb):6
from :0
实际上,出现上面错误的原因是,MAC已经内置了unicode的支持,而Linux下没有。那么,我们需要的是首先,安装Unicode支持。
如下:
sudo apt-get install unicode
这样就可以执行转换了。
那么,如果是需要转换一个句子呢,那么只要稍微的转换就可以达到目的:
words = s.split(" ")
words = words.collect do |word|
word = Iconv.iconv('ascii//translit', 'utf-8', word).to_s
word = word.gsub(/\W/,'')
end
words.join(" ")
分享到:
相关推荐
宽字节和多字节转换,利用C++实现UTF-8和UTF-16之间的转换,包括错误处理
iconv-lite - 纯javascript转换字符编码
文件包含:gbk2utf-8.bat、utf-82gbk.bat、iconv.exe及使用说明.txt四个文件 使用说明:1把要转换的所有.h和.c文件拷入该目录下,双击相应的bat文件即可。 2转换结果会保存在utf-8Res或gbkRes目录下。 3如果转换除...
perl-Text-Iconv-1.7-2.el5.i386
iconv是知名的开源跨平台编码转换库,iconv.exe是iconv库在windows下的命令行工具,iconv.exe的一般用法:iconv.exe -f gbk -t utf-8 gbk.txt > utf-8.txt。其中 -f gbk 指明转换前的文件编码是gbk,-t utf-8 指明...
win_iconv - 编码转换工具,下载后解压,复制iconv.exe到C:\Windows\System32,即可使用。
window下的iconv库libiconv-2.dll,用户与字符集转换,utf-8转gkb,gbk转utf-8
网上的都是这样用的 复制代码 代码如下:$content = iconv(“utf-8″,”gb2312”,$content); 这样做其实也对着了,看着确实是把utf-8转化为gb2312了,但是实际运行的话,往往都是以失败告终的,原因呢? 原因实际上...
一个利用iconv函数将GBK码转为UTF-8码的函数,本函数在LINUX系统下测试正常。目前支持中文繁简、日文、英文、俄文等的转码。函数其实很简单,另外精选了一些本人觉得有助于理解ICONV函数及Unicode、GBK这些概念的...
windows64位,visual2017,配合Cmake使用,需要的可以下载使用。dcmtk有多种工具集合,包括实现jpeg2000压缩dcm文件。windows的支持库
linux和windows版本:apr,apr-iconv和apr-util安装包
perl-Text-Iconv-1.2-fc1.i386.rpm
apr-iconv-1.2.1-win32-src.zip这是ActiveMQ中间件开发需要用的库
perl-Text,perl-Text-Iconv-1.4-1.2.el5.rf.i386
UTF-8 UTF16 UTF-16 UTF16BE UTF-16BE UTF16LE UTF-16LE UTF32 UTF-32 UTF32BE UTF-32BE UTF32LE UTF-32LE UCS2 UCS-2 UCS-2LE UCS-2BE UCS-2-INTERNAL UCS4 UCS-4 UCS-4LE UCS-4BE UCS-4-...
iconv-1.14-win32-x86_64
perl-Text-Iconv-1.7-1.el5.rf.i386.rpm
require "lc" print(lc.help());... u2w(utf8 to unicode) w2a(unicode to ansi) w2u(unicode to utf8) u2a(utf8 to ansi) a2u(ansi to utf8) bstr(bytes of str) help(show this) wunoman@qq.com 2012/03/06
apr-iconv-1.2.1.tar.gzapr-iconv-1.2.1.tar.gz