0

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

4

5 回答 5

2

你的问题不清楚,你是不是想编码一些东西?如果是这样utf8_encode是你的朋友。您是否试图确定它是否不需要编码?如果是这样,utf8_encode仍然是您的朋友,因为您可以检查结果是否与输入相同!

于 2008-09-17T04:22:44.203 回答
1

在此处检查多字节字符串函数

于 2008-09-17T04:27:00.387 回答
0

你需要知道你的输入字符串是用什么字符集编码的,否则这将无济于事。

如果你想正确地做到这一点,这篇文章可能会有所帮助:每个软件开发人员绝对、肯定必须了解 Unicode 和字符集的绝对最低要求(没有借口!)

于 2008-09-17T04:31:24.383 回答
0

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

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

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

于 2008-09-17T04:32:06.910 回答
0

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

  1. 如果只允许一行:

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

    preg_match('/^.*$/sDu', $value)
    

这适用于PHP >= 4.3.5,并且不需要任何非默认 PHP 模块。

于 2008-09-17T14:16:57.800 回答