我想通过过滤器运行文本以确保它都是UTF-8编码的。使用PHP执行此操作的建议方法是什么?
答案 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 有效性的最简单方法:
如果只允许一行:
preg_match('/^.*$/Du', $value)
如果允许多行:
preg_match('/^.*$/sDu', $value)
适用于 PHP> = 4.3.5 ,不需要任何非默认的PHP模块。