Как мне преобразовать "é" в é в php? - PullRequest
3 голосов
/ 31 мая 2010

У меня есть страница XML ISO-8859-1, на которой я должен выводить символы вроде é.
Если я выведу é, это приведет к ошибкам. é работает просто отлично.
Итак, какую функцию PHP я должен использовать для преобразования é в é

Я не могу перейти к utf-8 (как я полагаю, некоторые предложат, и это справедливо). Это огромный, устаревший код.

Ответы [ 3 ]

4 голосов
/ 31 мая 2010

Использование mb_convert_encoding :

mb_convert_encoding("é", "HTML-ENTITIES", "ISO-8859-1");

дает ‚.

В этом примере не требуется вводить «é», что вы можете или не можете делать в ISO-8859-1:

mb_convert_encoding(chr(130), "HTML-ENTITIES", "ISO-8859-1");
2 голосов
/ 31 мая 2010

var_dump(ord('é'));

Придает

int(233)

Возможно, вы могли бы использовать

print '&#' . ord('é') . ';';
1 голос
/ 31 мая 2010

Попробуйте заглянуть в комментарии здесь; http://php.net/manual/en/function.htmlentities.php

phil at lavin dot me dot uk
08-Apr-2010 03:34 

The following will make a string completely safe for XML:

<?php
function philsXMLClean($strin) {
    $strout = null;

    for ($i = 0; $i < strlen($strin); $i++) {
            $ord = ord($strin[$i]);

            if (($ord > 0 && $ord < 32) || ($ord >= 127)) {
                    $strout .= "&amp;#{$ord};";
            }
            else {
                    switch ($strin[$i]) {
                            case '<':
                                    $strout .= '&lt;';
                                    break;
                            case '>':
                                    $strout .= '&gt;';
                                    break;
                            case '&':
                                    $strout .= '&amp;';
                                    break;
                            case '"':
                                    $strout .= '&quot;';
                                    break;
                            default:
                                    $strout .= $strin[$i];
                    }
            }
    }

    return $strout;
}
?> 

Все кредиты отправляются Филу Лавину, сделай мне точку, Великобритания

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...