我有一个XML ISO-8859-1页面,我必须输出像é这样的符号
如果我输出é
,则会输出错误。 é
工作得很好。
那么,我应该使用什么PHP函数将é
转换为é
我无法转向utf-8(因为我认为有些人会建议并且理所当然)这是一个庞大的遗留代码。
答案 0 :(得分:4)
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 .= "&#{$ord};";
}
else {
switch ($strin[$i]) {
case '<':
$strout .= '<';
break;
case '>':
$strout .= '>';
break;
case '&':
$strout .= '&';
break;
case '"':
$strout .= '"';
break;
default:
$strout .= $strin[$i];
}
}
}
return $strout;
}
?>
lavin do me dot uk将所有学分转到phil