开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜