我有一個XML ISO-8859-1頁面,其中必須輸出符號é。
如果我輸出é
它出錯。 é
工作得很好。
所以,我應該用什麼PHP函數變換é
到é
如何在PHP中將「é」轉換爲é?
我不能移動到UTF-8(我認爲有些人會認爲這是理所當然的),這是一個巨大的,遺留代碼。
我有一個XML ISO-8859-1頁面,其中必須輸出符號é。
如果我輸出é
它出錯。 é
工作得很好。
所以,我應該用什麼PHP函數變換é
到é
如何在PHP中將「é」轉換爲é?
我不能移動到UTF-8(我認爲有些人會認爲這是理所當然的),這是一個巨大的,遺留代碼。
嘗試在這裏評論的樣子; 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;
}
?>
所有學分去菲爾在拉文能幫我點英國
var_dump(ord('é'));
給人
int(233)
也許,你可以使用
print '&#' . ord('é') . ';';
那** **會是一個很好的解決方案,如果這是我唯一的輸入。我實際上得到的是一個巨大的文字,裏面有一些「奇怪」的字符,而不是全部。 – 2010-05-31 19:23:32
mb_convert_encoding("é", "HTML-ENTITIES", "ISO-8859-1");
給出‚
。
這個例子並不要求你輸入「é」,您可能會或可能不會在ISO 8859這樣做:
mb_convert_encoding(chr(130), "HTML-ENTITIES", "ISO-8859-1");
它給了我一個完全不同的結果在我的系統上。 – 2010-05-31 19:37:56
@Itay Moav這取決於你如何進入「é」。我會更新答案。 – Artefacto 2010-05-31 19:40:11
原油但工作 - 謝謝! – 2010-05-31 19:42:05