相关疑难解决方法(0)

如何在PHP中检测格式错误的utf-8字符串?

iconv函数有时会给我一个错误:

Notice:
iconv() [function.iconv]:
Detected an incomplete multibyte character in input string in [...]
Run Code Online (Sandbox Code Playgroud)

有没有办法在将数据输入到无线电之前检测到utf-8字符串中存在非法字符?

php encoding utf-8 iconv

22
推荐指数
1
解决办法
3万
查看次数

确保在PHP中使用有效的utf-8

我正在使用PHP来处理来自各种来源的文本.我不认为它将是UTF-8,ISO-8859-1或WINDOWS-1252以外的任何东西.如果它不是其中之一,我只需要确保文本变成有效的UTF-8字符串,即使字符丢失也是如此.iconv的// TRANSLIT选项是否解决了这个问题?例如,此代码是否确保字符串可以安全地插入到UTF-8编码的文档(或数据库)中?

function make_safe_for_utf8_use($string) {

    $encoding = mb_detect_encoding($string, "UTF-8,ISO-8859-1,WINDOWS-1252");

    if ($encoding != 'UTF-8') {
        return iconv($encoding, 'UTF-8//TRANSLIT', $string);
    }
    else {
        return $string;
    }
}
Run Code Online (Sandbox Code Playgroud)

php encoding utf-8

20
推荐指数
3
解决办法
2万
查看次数

是PHP str_word_count()多字节安全吗?

我想str_word_count()在UTF-8字符串上使用.

这在PHP中安全吗?在我看来它应该是(特别是考虑到没有mb_str_word_count()).

但是在php.net上,有很多人通过展示他们自己的"多字节兼容"版本的功能来混淆水.

所以我想我想知道......

  1. 鉴于str_word_count简单地计算由" "(空格)分隔的所有字符序列,它应该在多字节字符串上是安全的,即使它不一定知道字符序列,对吧?

  2. UTF-8中是否有等效的'空格'字符,它们不是ASCII " "(空格)?#

这是我猜的问题所在.

php utf-8 utf

10
推荐指数
1
解决办法
8046
查看次数

标签 统计

php ×3

utf-8 ×3

encoding ×2

iconv ×1

utf ×1