php - iconv() 对比utf8_encode()

标签 php json character-encoding

当您有一个不同于 UTF-8 的字符集,并且需要将其转换为 JSON 格式以将其迁移到数据库时,可以在 PHP 中使用两种方法,调用 utf8_encode() 和 iconv()。我想知道哪个性能更好,什么时候使用它们更方便。

最佳答案

when you have a charset different of UTF-8

不 - utf8_encode() 适用于将 ISO-8859-1 字符串转换为 UTF-8。 Iconv 提供了大量的源和目标编码。

关于性能,我不知道 utf8_encode() 在内部如何工作以及它使用什么库,但我的预测是不会有太大差异 - 至少在“正常”上不会以字节或千字节为单位的数据量。如有疑问,请进行基准测试。

我倾向于使用iconv(),因为它更清楚地表明存在从字符集A到字符集B的转换。

此外,iconv() 提供了更详细的控制,以控制遇到无效数据时的操作。将 //IGNORE 添加到目标字符集将导致它静默丢弃无效字符。这在某些情况下可能会有所帮助。

关于php - iconv() 对比utf8_encode(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499467/

相关文章:

PHP 查询过滤多对多 MySQL

php - Base64 编码图像

javascript - php 消息警告 : Missing boundary in multipart/form-data POST data in Unknown on line 0

php - 如何在 Facebook 页面选项卡中授权用户?

使用 readFile 的 Haskell 字符编码问题

java - 从 Java XMLGregorianCalendar 中删除时间戳

javascript - 在 JavaScript 中,是否有一种将数字转换为字符串的解析 JSON 的方法?

带有重音/拉丁字符的 JSON 请求

javascript - RCurl处理汉字

javascript - 为什么 React 只允许 HTML 实体的子集?