PHP function to convert unicode to special characters?
Is there a php function to handle the encodings below?
.replaceAll("\u00c3\u0080", "À")
.replaceAll("\u00c3\u0081", "Á")
.replaceAll("\u00c3\u0082", "Â")
.replaceAll("\u00c3\u0083", "Ã")
.replaceAll("\u00c3\u0084", "Ä")
.replaceAll("\u00c3\u0085", "Å")
.replaceAll("\u00c3\u0086", "Æ")
.replaceAll("\u00c3\u00a0", "à")
.replaceAll("\u00c3\u00a1", "á")
.replaceAll("\u00c3\u00a2", "â")
.replaceAll("\u00c3\u00a3", "ã")
.replaceAll("\u00c3\u00a4", "ä")
.replaceAll("\u00c3\u00a5", "å")
.replaceAll("\u00c3\u00a6", "æ")
.replaceAll("\u00c3\u0087", "Ç")
.replaceAll("\u00c3\u00a7", "ç")
.replaceAll("\u00c3\u0090", "Ð")
.replaceAll("\u00c3\u00b0", "ð")
.replaceAll("\u00c3\u0088", "È")
.replaceAll("\u00c3\u0089", "É")
.replaceAll("\u00c3\u008a", "Ê")
.replaceAll("\u00c3\u008b", "Ë")
.replaceAll("\u00c3\u00a8", "è")
.replaceAll("\u00c3\u00a9", "é")
.replaceAll("\u00c3\u00aa", "ê")
.replaceAll("\u00c3\u00ab", "ë")
.replaceAll("\u00c3\u008c", "Ì")
.replaceAll("\u00c3\u008d", "Í")
.replaceAll("\u00c3\u008e", "Î")
.replaceAll("\u00c3\u008f", "Ï")
.replaceAll("\u00c3\u00ac", "ì")
.replaceAll("\u00c3\u00ad", "í")
.replaceAll("\u00c3\u00ae", "î")
.replaceAll("\u00c3\u00af", "ï")
.replaceAll("\u00c3\u0091", "Ñ")
.replaceAll("\u00c3\u00b1", "ñ")
.replaceAll("\u00c3\u0092", "Ò")
.replaceAll("\u00c3\u0093", "Ó")
.replaceAll("\u00c3\u0094", "Ô")
.replaceAll("\u00c3\u0095", "Õ")
.replaceAll("\u00c3\u0096", "Ö")
.replaceAll("\u00c3\u0098", "Ø")
.replaceAll("\u00c5\u0092", "Œ")
.replaceAll("\u00c3\u00b2", "ò")
.replaceAll("\u00c3\u00b3", "ó")
.replaceAll("\u00c3\u00b4", "ô")
.replaceAll("\u00c3\u00b5", "õ")
.replaceAll("\u00c3\u00b6", "ö")
.replaceAll("\u00c3\u00b8", "ø")
.replaceAll("\u00c5\u0093", "œ")
.replaceAll("\u00c3\u0099", "Ù")
.replaceAll("\u00c3\u009a", "Ú")
.replaceAll("\u00c3\u009b", "Û")
.replaceAll("\u00c3\u009c", "Ü")
.replaceAll("\u00c3\u00b9", "ù")
.replaceAll("\u00c3\u00ba", "ú")
.replaceAll("\u00c3\u00bb", "û")
.replaceAll("\u00c3\u00bc", "ü")
.replaceAll("\u00c3\u009d", "Ý")
.replaceAll("\u00c5\u00b8", "Ÿ")
.replaceAll("\u开发者_运维技巧00c3\u00bd", "ý")
.replaceAll("\u00c3\u00bf", "ÿ");
Try mb_convert_encoding()
with the "to" encoding as 'HTML-ENTITIES'
, and (if necessary) the "from" encoding set to 'UTF-8'
or whichever Unicode encoding you're using.
I found this to be interesting, where the previous answer was not working :
function jsonRemoveUnicodeSequences($struct) {
return preg_replace("/\\\\u([a-f0-9]{4})/e", "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U$1')))", json_encode($struct));
}
I found it here : http://www.avoid.org/replace-u-characters-in-json-string/
Use strtr, it's blazing fast.
精彩评论