PHP пишут как ANSI вместо UTF-8 - PullRequest
2 голосов
/ 29 июня 2011

У меня к серверам с Apache-PHP-MySQL. Первый - Linux, второй - Windows.

PHP-скрипт использует simpleXML для сохранения строки в виде файлов XML с использованием asXML (имя_файла). В Linux - сохраняет все файлы в кодировке UTF-8. Но от Windows зависит - если в строке есть символы с ударением, такие как: ... - сохраняет как ANSI, если нет - сохраняет как UTF-8 Существует ли в php.ini параметр или что-то еще, что может гарантировать, что кодировка файла всегда UTF-8? Спасибо.

Ответы [ 3 ]

1 голос
/ 29 июня 2011

Согласно этому комментарию: http://www.php.net/manual/en/ref.simplexml.php#79258; SimpleXML преобразует все в UTF-8, несмотря ни на что.

Если вы хотите изменить его, вы можете вместо этого заглянуть в xml_parser_create (), но он поддерживает только ISO-8859-1, US-ASCII и UTF-8 в качестве исходных кодировок.

http://php.net/manual/en/xml.encoding.php

1 голос
/ 01 июля 2011

mysqli_set_charset ($ this-> подключения, 'utf8'); убедитесь, что из db вы получаете в кодировке utf-8.

1 голос
/ 29 июня 2011

Я предполагаю, что вы фактически добавляете символы в ANSI. Я сомневаюсь, что simplexml выполняет автоматическое преобразование ваших символов ... поэтому убедитесь, что вы уже используете допустимые строки UTF-8.

...