草庐IT

translit

全部标签

ruby - 在 Ruby 中使用 Iconv 进行音译

当我尝试音译西里尔文utf-8字符串时Iconv.iconv('ascii//ignore//translit','utf-8',string).to_s(参见questions/1726404/transliteration-in-ruby)除了那些必须音译的符号,我得到了所有东西。例如:'r-строка'→'r-'和'Gévry'→'Gvry'。怎么了?Ruby1.8.7/Rails2.3.5/WSeven 最佳答案 require'iconv'pIconv.iconv('ascii//translit//ignore','u

javascript - 将 Javascript UTF-8 转换为 ASCII(如 PHP 中的 Iconv ('UTF-8'、 'ASCII//TRANSLIT'、$string)

我想知道如何使用Javascript将UTF-8中的字符“翻译”为最接近的ASCII等效字符,就像PHP中的Iconvdost一样。例子:ü变成你ó变成o我宁愿不使用替换,因为a)它需要一整套字符,这需要大量工作b)我很难获得一整套字符,我会永远不确定我是否遗漏了一两个。 最佳答案 我找到的最简单的方法:varstr="üó";varcombining=/[\u0300-\u036F]/g;console.log(str.normalize('NFKD').replace(combining,''));https://develop

用于删除口音的 php iconv translit : not working as excepted?

考虑这个简单的代码:echoiconv('UTF-8','ASCII//TRANSLIT','è');它打印`e不仅仅是e你知道我做错了什么吗?添加setlocale后没有任何变化setlocale(LC_COLLATE,'en_US.utf8');echoiconv('UTF-8','ASCII//TRANSLIT','è'); 最佳答案 我有这个标准函数来返回没有无效url字符的有效url字符串。//removeunwantedcharacters评论之后的行似乎有魔力。这取自Symfony框架文档:http://www.sym

php - 哪些因素会影响成功的 iconv() TRANSLIT 转换?

我正在尝试确定哪些环境或其他因素对使用TRANSLIT选项调用iconv()的结果有影响。当通过Apache和CLI运行时,以下代码在本地对我有不同的结果。预期结果:Padraig'snaivecafeWeb浏览器中的结果:(空字符串)CLI的结果:P'adraig'snaivecafe在某些系统上,我确实得到了预期的结果,但我无法确定原因。哪些因素会影响转化,我应该遵循哪些步骤来增加获得良好结果的机会? 最佳答案 语言环境正在影响iconv音译。但是,您应该阅读setlocale­Docs上的警告手册页:Thelocaleinfo

java - Java 中是否有 iconv with//TRANSLIT 等价物?

有没有办法在java中实现charsets之间字符的音译?类似于unix命令(或类似的php函数)的东西:iconv-fUTF-8-tASCII//TRANSLITnew_doc.txt最好对字符串进行操作,与文件无关我知道您可以使用String构造函数更改编码,但它无法处理不在结果字符集中的字符的音译。 最佳答案 我不知道有任何库完全按照iconv声称要做的(这似乎没有很好地定义)。但是,您可以使用"normalization"在Java中做一些事情,比如从字符中删除重音。此过程由Unicode标准明确定义。我认为NFKD(兼容性

ruby - Ruby 2 中的 Translit 等价物(没有 iconv)

正如我们所知,我们可以在Ruby1.9.3中使用Iconv和TRANSLIT标志,这将用ASCII等价物替换重音字符,只有当它们是不存在于目标编码中。使用示例:require'iconv'z="Håkan"Iconv.conv("windows-1250//TRANSLIT","UTF-8",z)#=>outputs"Hakan"(withdiactricremoved)pl="zażółć"Iconv.conv("windows-1250//TRANSLIT","UTF-8",pl)#=>outputs"zażółć"(becausewindows-1250containsallth