在PHP中更改文本编码的最佳方法是什么?

时间:2008-09-17 04:19:08

标签: php encoding utf-8

我想通过过滤器运行文本以确保它都是UTF-8编码的。使用PHP执行此操作的建议方法是什么?

5 个答案:

答案 0 :(得分:2)

您的问题不清楚,您是否正在尝试对某些内容进行编码?如果是这样utf8_encode是你的朋友。您是否正在尝试确定它是否不需要编码?如果是这样, utf8_encode 仍然是你的朋友,因为你可以检查结果是否与输入相同!

答案 1 :(得分:1)

检查多字节字符串函数here

答案 2 :(得分:0)

您需要知道您的输入字符串在哪个字符集中被编码,否则这将无处可去。

如果您想要正确执行此操作,可能会对本文有所帮助:The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

答案 3 :(得分:0)

给定一个字节流,你必须知道它的编码是什么 - 电子邮件使用mime头来指定编码,http使用http头来指定编码。此外,您可以在网页的元标记中指定编码,但并不总是尊重它。

无论如何,一旦您知道要转换的编码,请使用 iconv 将其转换为utf8。看看php文档的iconv部分,那里有很多好消息。

啊,托马斯发布了我正在寻找的链接。必读。

答案 4 :(得分:0)

检查 UTF-8 有效性的最简单方法:

  1. 如果只允许一行:

    preg_match('/^.*$/Du', $value)
    
  2. 如果允许多行:

    preg_match('/^.*$/sDu', $value)
    
  3. 适用于 PHP> = 4.3.5 ,不需要任何非默认的PHP模块。