Viewing file: cp1252.php (4.63 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/** * decode/cp1252.php * * This file contains cp1252 decoding function that is needed to read * cp1252 encoded mails in non-cp1252 locale. * * Original data taken from: * ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT * * Name: cp1252 to Unicode table * Unicode version: 2.0 * Table version: 2.01 * Table format: Format A * Date: 04/15/98 * Contact: cpxlate@microsoft.com * * @copyright 2003-2010 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id: cp1252.php 13893 2010-01-25 02:47:41Z pdontthink $ * @package squirrelmail * @subpackage decode */
/** * Decode cp1252-encoded string * @param string $string Encoded string * @return string $string Decoded string */
function charset_decode_cp1252 ($string) { // don't do decoding when there are no 8bit symbols if (! sq_is8bit($string,'windows-1252')) return $string;
$cp1252 = array( "\x80" => '€', "\x81" => '�', "\x82" => '‚', "\x83" => 'ƒ', "\x84" => '„', "\x85" => '…', "\x86" => '†', "\x87" => '‡', "\x88" => 'ˆ', "\x89" => '‰', "\x8A" => 'Š', "\x8B" => '‹', "\x8C" => 'Œ', "\x8D" => '�', "\x8E" => 'Ž', "\x8F" => '�', "\x90" => '�', "\x91" => '‘', "\x92" => '’', "\x93" => '“', "\x94" => '”', "\x95" => '•', "\x96" => '–', "\x97" => '—', "\x98" => '˜', "\x99" => '™', "\x9A" => 'š', "\x9B" => '›', "\x9C" => 'œ', "\x9D" => '�', "\x9E" => 'ž', "\x9F" => 'Ÿ', "\xA0" => ' ', "\xA1" => '¡', "\xA2" => '¢', "\xA3" => '£', "\xA4" => '¤', "\xA5" => '¥', "\xA6" => '¦', "\xA7" => '§', "\xA8" => '¨', "\xA9" => '©', "\xAA" => 'ª', "\xAB" => '«', "\xAC" => '¬', "\xAD" => '­', "\xAE" => '®', "\xAF" => '¯', "\xB0" => '°', "\xB1" => '±', "\xB2" => '²', "\xB3" => '³', "\xB4" => '´', "\xB5" => 'µ', "\xB6" => '¶', "\xB7" => '·', "\xB8" => '¸', "\xB9" => '¹', "\xBA" => 'º', "\xBB" => '»', "\xBC" => '¼', "\xBD" => '½', "\xBE" => '¾', "\xBF" => '¿', "\xC0" => 'À', "\xC1" => 'Á', "\xC2" => 'Â', "\xC3" => 'Ã', "\xC4" => 'Ä', "\xC5" => 'Å', "\xC6" => 'Æ', "\xC7" => 'Ç', "\xC8" => 'È', "\xC9" => 'É', "\xCA" => 'Ê', "\xCB" => 'Ë', "\xCC" => 'Ì', "\xCD" => 'Í', "\xCE" => 'Î', "\xCF" => 'Ï', "\xD0" => 'Ð', "\xD1" => 'Ñ', "\xD2" => 'Ò', "\xD3" => 'Ó', "\xD4" => 'Ô', "\xD5" => 'Õ', "\xD6" => 'Ö', "\xD7" => '×', "\xD8" => 'Ø', "\xD9" => 'Ù', "\xDA" => 'Ú', "\xDB" => 'Û', "\xDC" => 'Ü', "\xDD" => 'Ý', "\xDE" => 'Þ', "\xDF" => 'ß', "\xE0" => 'à', "\xE1" => 'á', "\xE2" => 'â', "\xE3" => 'ã', "\xE4" => 'ä', "\xE5" => 'å', "\xE6" => 'æ', "\xE7" => 'ç', "\xE8" => 'è', "\xE9" => 'é', "\xEA" => 'ê', "\xEB" => 'ë', "\xEC" => 'ì', "\xED" => 'í', "\xEE" => 'î', "\xEF" => 'ï', "\xF0" => 'ð', "\xF1" => 'ñ', "\xF2" => 'ò', "\xF3" => 'ó', "\xF4" => 'ô', "\xF5" => 'õ', "\xF6" => 'ö', "\xF7" => '÷', "\xF8" => 'ø', "\xF9" => 'ù', "\xFA" => 'ú', "\xFB" => 'û', "\xFC" => 'ü', "\xFD" => 'ý', "\xFE" => 'þ', "\xFF" => 'ÿ' );
$string = str_replace(array_keys($cp1252), array_values($cp1252), $string);
return $string; }
|