如何在php中将“é”转换为é?

时间:2010-05-31 19:18:18

标签: php encoding

我有一个XML ISO-8859-1页面,我必须输出像é这样的符号 如果我输出é,则会输出错误。 é工作得很好。
那么,我应该使用什么PHP函数将é转换为é

我无法转向utf-8(因为我认为有些人会建议并且理所当然)这是一个庞大的遗留代码。

3 个答案:

答案 0 :(得分:4)

使用mb_convert_encoding

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

给出‚

此示例不要求您输入“é”,您可能会或可能不会在ISO-8859-1中执行此操作:

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

答案 1 :(得分:2)

var_dump(ord('é'));

给出

int(233)

也许,你可以使用

print '&#' . ord('é') . ';';

答案 2 :(得分:1)

试着看看这里的评论; 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;
}
?> 

lavin do me dot uk将所有学分转到phil