php - UTF-8 到 Unicode 代码点

标签 php unicode utf-8

是否有将 UTF-8 更改为 Unicode 并将非特殊字符保留为普通字母和数字的函数?

即德语单词“tchüß”将呈现为类似“tch\20AC\21AC”的内容(请注意,我正在编造 Unicode 代码)。

编辑:我正在试验以下函数,但尽管这个函数适用于 ASCII 32-127,但它似乎无法用于双字节字符:

function strToHex ($string)
{
    $hex = '';
    for ($i = 0; $i < mb_strlen ($string, "utf-8"); $i++)
    {
        $id = ord (mb_substr ($string, $i, 1, "utf-8"));
        $hex .= ($id <= 128) ? mb_substr ($string, $i, 1, "utf-8") : "&#" . $id . ";";
}

    return ($hex);
}

有什么想法吗?

编辑 2:找到解决方案:PHP ord() 函数不适用于双字节字符。改用:http://nl.php.net/manual/en/function.ord.php#78032

最佳答案

对于可读形式,我会使用 JSON。不需要转义 JSON 中的非 ASCII 字符,但 PHP 会:

echo json_encode("tchüß");

"tch\u00fc\u00df"

关于php - UTF-8 到 Unicode 代码点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106470/

相关文章:

sql-server - 我是否在 "insert into"语句中为 unicode 使用前缀 N?

mysql - 在 MySQL 查询中使用 ORDER BY 时如何忽略特殊字符

php - Mysql选择多个计数给出错误的值

php - 使用 Slim 测试 PUT 参数值的问题

python - Unicode 字符是 Geraldo/ReportLab 生成的 PDF 中的框

ios - 按钮标题中的引号

MySQL 全文搜索、整理和不间断空格

php - 字符集UTF-8,无法解决

javascript - 使用 ajax 刷新页面而不重新加载,并在该页面中使用 POST/GET

Php MySQL - 按限制删除所有行