+
+
+/*
+ windows-1257 (BaltRim)
+ */
+function charset_decode_windows_1257 ($string) {
+ global $default_charset;
+
+ if (strtolower($default_charset) == 'windows-1257')
+ return $string;
+
+ /* Only do the slow convert if there are 8-bit characters */
+ if (! ereg("[\200-\377]", $string))
+ return $string;
+
+ $string = str_replace("\200", '€', $string);
+ $string = str_replace("\202", '‚', $string);
+ $string = str_replace("\204", '„', $string);
+ $string = str_replace("\205", '…', $string);
+ $string = str_replace("\206", '†', $string);
+ $string = str_replace("\207", '‡', $string);
+ $string = str_replace("\211", '‰', $string);
+ $string = str_replace("\213", '‹', $string);
+ $string = str_replace("\215", '¨', $string);
+ $string = str_replace("\216", 'ˇ', $string);
+ $string = str_replace("\217", '¸', $string);
+ $string = str_replace("\221", '‘', $string);
+ $string = str_replace("\222", '’', $string);
+ $string = str_replace("\223", '“', $string);
+ $string = str_replace("\224", '”', $string);
+ $string = str_replace("\225", '•', $string);
+ $string = str_replace("\226", '–', $string);
+ $string = str_replace("\227", '—', $string);
+ $string = str_replace("\231", '™', $string);
+ $string = str_replace("\233", '›', $string);
+ $string = str_replace("\235", '¯', $string);
+ $string = str_replace("\236", '˛', $string);
+ $string = str_replace ("\250", 'Ø', $string);
+ $string = str_replace ("\252", 'Ŗ', $string);
+ $string = str_replace ("\257", 'Æ', $string);
+ $string = str_replace ("\270", 'ø', $string);
+ $string = str_replace ("\272", 'ŗ', $string);
+ $string = str_replace ("\277", 'æ', $string);
+ $string = str_replace ("\300", 'Ą', $string);
+ $string = str_replace ("\301", 'Į', $string);
+ $string = str_replace ("\302", 'Ā', $string);
+ $string = str_replace ("\303", 'Ć', $string);
+ $string = str_replace ("\306", 'Ę', $string);
+ $string = str_replace ("\307", 'Ē', $string);
+ $string = str_replace ("\310", 'Č', $string);
+ $string = str_replace ("\312", 'Ź', $string);
+ $string = str_replace ("\313", 'Ė', $string);
+ $string = str_replace ("\314", 'Ģ', $string);
+ $string = str_replace ("\315", 'Ķ', $string);
+ $string = str_replace ("\316", 'Ī', $string);
+ $string = str_replace ("\317", 'Ļ', $string);
+ $string = str_replace ("\320", 'Š', $string);
+ $string = str_replace ("\321", 'Ń', $string);
+ $string = str_replace ("\322", 'Ņ', $string);
+ $string = str_replace ("\324", 'Ō', $string);
+ $string = str_replace ("\330", 'Ų', $string);
+ $string = str_replace ("\331", 'Ł', $string);
+ $string = str_replace ("\332", 'Ŕ', $string);
+ $string = str_replace ("\333", 'Ū', $string);
+ $string = str_replace ("\335", 'Ż', $string);
+ $string = str_replace ("\336", 'Ž', $string);
+ $string = str_replace ("\340", 'ą', $string);
+ $string = str_replace ("\341", 'į', $string);
+ $string = str_replace ("\342", 'ā', $string);
+ $string = str_replace ("\343", 'ć', $string);
+ $string = str_replace ("\346", 'ę', $string);
+ $string = str_replace ("\347", 'ē', $string);
+ $string = str_replace ("\350", 'č', $string);
+ $string = str_replace ("\352", 'ź', $string);
+ $string = str_replace ("\353", 'ė', $string);
+ $string = str_replace ("\354", 'ģ', $string);
+ $string = str_replace ("\355", 'ķ', $string);
+ $string = str_replace ("\356", 'ī', $string);
+ $string = str_replace ("\357", 'ļ', $string);
+ $string = str_replace ("\360", 'š', $string);
+ $string = str_replace ("\361", 'ń', $string);
+ $string = str_replace ("\362", 'ņ', $string);
+ $string = str_replace ("\364", 'ō', $string);
+ $string = str_replace ("\370", 'ų', $string);
+ $string = str_replace ("\371", 'ł', $string);
+ $string = str_replace ("\372", 'ś', $string);
+ $string = str_replace ("\373", 'ū', $string);
+ $string = str_replace ("\375", 'ż', $string);
+ $string = str_replace ("\376", 'ž', $string);
+ $string = str_replace ("\377", '˙', $string);
+
+ // Rest of charset is like iso-8859-1
+ return (charset_decode_iso_8859_1($string));
+}
+
+/* windows-1251 is Microsoft Cyrillic encoding */
+function charset_decode_windows_1251 ($string) {
+ // Convert to KOI8-R, then return this decoded.
+ $string = convert_cyr_string($string, 'w', 'k');
+ return charset_decode_koi8r($string);