【发布时间】:2012-01-04 05:35:45
【问题描述】:
PHP 中的iconv() 和mb_convert_encoding() 有什么区别?一个性能更好,更快等(例如使用特定编码)吗?在什么情况下,一种会比另一种更受欢迎?
以下是我认为我已经知道的:
iconv()
- 包含在大多数 PHP 安装中。
- 当找到无法映射到新字符集的字符时,您可以指定是否将它们转换为“相似”字符,或者忽略它们。
mb_convert_encoding()
- 通常需要安装 php-mbstring 扩展。
- 能够处理
HTML-ENTITIES,与网络十六进制代码相互转换。
还有其他区别吗?
【问题讨论】:
-
无法确定这些功能是否以及何时会给您带来问题,因为您没有分享您遇到的具体问题。与任何类型的功能一样,它只完成特定的工作。所以如果你在工作中使用了错误的函数,你总是会遇到问题。
-
这是一个热门且有用的问题。 OP 没有询问他的具体情况,然后未能提供详细信息以确定他的情况下的首选功能;相反,他要求提供有关两个似乎执行相同功能的 PHP 函数之间差异的信息。当然,这引出了一个问题:为什么它们都存在,以及在什么情况下一个会比另一个更受欢迎?这在范围上是特定的,并且在适用性上很广泛(任何在 PHP 中进行字符转换的人都想知道这一点)。问题不应该因为“不具建设性”而结束。
-
var_dump(similar_text('iconv','mb_convert_encoding'))说4。所以答案是4。 -
我同意 Josh 的观点...我通过 Google 搜索来到这里,寻找完全相同的信息,结果却对问题被拒绝感到失望。我看不出有什么问题。
标签: php character-encoding special-characters