首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么翻译不起作用?

为什么翻译不起作用?
EN

Stack Overflow用户
提问于 2011-02-19 10:13:38
回答 1查看 2.3K关注 0票数 5
代码语言:javascript
运行
复制
setlocale(LC_ALL, 'en_US.UTF8');
$string= 'ṃỹṛèşưḿĕ';
echo iconv('UTF-8', 'ASCII//TRANSLIT', $string);

犯了错误...

应打印:我的简历

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-19 12:55:49

这取决于iconv库。

在Ubuntu 10.10中,我得到了这个:

代码语言:javascript
运行
复制
$ php -i | egrep "iconv (implementation|library)"
iconv implementation => glibc
iconv library version => 2.12.1
$ php a.php 
myresume

但是在另一台使用GNU iconv的机器上:

代码语言:javascript
运行
复制
iconv implementation => libiconv
iconv library version => 1.11
# php a.php 
Notice: iconv(): Unknown error (88) in /tmp/root/a.php on line 5

iconv所做的音译在不同的实现中并不一致。例如,glibc实现将é音译为e,而libiconv将其音译为'e

除非我们在PHP中支持ICU音译器(预计在下一个版本中),否则将没有可靠的方法来可靠地执行这些转换(尽管如果您只想删除标记,可以使用other solutions)。在PHP的开发版本中,使用intl扩展可以做到这一点:

代码语言:javascript
运行
复制
<?php
$t = Transliterator::create("latin; NFKD; [^\u0000-\u007E] Remove; NFC");
echo $t->transliterate('Ναδάλης ṃỹṛèşưḿĕ');

这给了我们

代码语言:javascript
运行
复制
Nadales myresume
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5048401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档