tags:

views:

485

answers:

2

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("\u00c3\u00bd", "ý")
  .replaceAll("\u00c3\u00bf", "ÿ");
+3  A: 

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.

Amber
Works, thank you!
inktri
In php6, there won't be need for MultiByte (mb) anymore.
confiq
A: 

Use strtr, it's blazing fast.

Raveren
Doesn't work, since html entities are multiple characters, and `strtr()` only does 1:1 character mappings.
Amber
That's incorrect, it can operate on the key->value pairs of an array (replacing each occurance of 'key' by 'value'), where you can replace multi-character strings.
soulmerge