У меня есть страница HTML/PHP5 с формой, а затем, когда она отправляется, она создает XML-файл с вводом формы в качестве данных.PHP DOMDocument с åäö (UTF-8)
Но все åäö выглядит, если бы я использовал utf8_encode()
на них. Я не могу utf8_decode()
их, потому что тогда «служба» отправляю файлы XML, жалуется, что это не UTF-8 (как и должно).
Parser не удалось. Причина: 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>
Я попытался м b_convert_encoding()
, отправляя данные в CDATA
с htmlentities()
вместо этого и изменил default_charset = "utf-8"
в php.ini, но ничего не работает, как это предполагается.
Что мне делать?
Если ваши данные UTF-8, почему бы вам не использовать UTF-8 для вывода? – Gumbo
Я сделал это, но я пропустил, что стандартная кодировка для метода htmlentities() - это ISO-8859-1, а затем, когда я использовал htmlentities() в своих данных UTF-8, он превратил мою åäö в à ¥ äö. Причина, по которой я использую htmlentities() для данных, - показать ее на веб-странице с помощью <>. –