【问题标题】:PHP DOMDocument with åäö (UTF-8)带有 åäö 的 PHP DOMDocument (UTF-8)
【发布时间】:2009-09-23 11:59:56
【问题描述】:

我有一个带有表单的 HTML/PHP5 页面,然后当它发布时,它会创建一个 XML 文件,其中表单输入作为数据。

但所有 åäö 看起来都像是我在它们上面使用了utf8_encode()。我不能utf8_decode() 他们,因为我将 XML 文件发送到的“服务”抱怨不是 UTF-8(应该如此)。

解析器失败。原因:2:解析器错误:输入不正确的UTF-8,表示编码!字节数:0xE5 0x73 0x61 0x2E

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>Blabla></title>
    </head>

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<name>åäö</name>

我尝试过 mb_convert_encoding(),将数据发送为 CDATAhtmlentities(),并在 php.ini 中更改了 default_charset = "utf-8",但没有任何效果。

我该怎么办?

【问题讨论】:

    标签: php utf-8 domdocument


    【解决方案1】:

    DOMDocument 没有任何问题,我只是在输出结果时忘记在 htmlentities() 中指定 UTF-8。

    【讨论】:

    • 如果你的数据是 UTF-8,那你为什么不用 UTF-8 来输出呢?
    • 我做到了,但我错过了 htmlentities() 方法的标准字符集是 ISO-8859-1,然后当我在 UTF-8 数据上使用 htmlentities() 时,它会将我的 åäö 转换为 à ¥Ã¤Ã¶。我在数据上使用 htmlentities() 的原因是用 . 在网页上显示它
    猜你喜欢
    • 2017-01-02
    • 1970-01-01
    • 2012-06-22
    • 2012-07-03
    • 2017-08-03
    • 2016-04-04
    • 1970-01-01
    • 2018-01-30
    • 2013-11-28
    相关资源
    最近更新 更多