Skip to content

Instantly share code, notes, and snippets.

@pstaender
Last active January 4, 2016 13:49
Show Gist options
  • Save pstaender/8630530 to your computer and use it in GitHub Desktop.
Save pstaender/8630530 to your computer and use it in GitHub Desktop.
Converts Umlauts from ?iso8859-1? to utf8…
<?php
/*
* Converts Umlauts from iso8859-1? to utf8
* by philipp staender <[email protected]>
* Usage: `php iso_utf8_converter.php fromfile.txt > tofile.txt`
*/
$map = array(
"Â" => "",
"Ã́" => "ô",
"Å¡" => "š",
"¤" => "¤",
"ö" => "ö",
"Å¢" => "Þ",
"¦" => "¦",
"÷" => "÷",
"Å£" => "þ",
"§" => "§",
"ú" => "ú",
"Ť" => "?",
"Â̈" => "̈",
"ü" => "ü",
"Å¥" => "?",
"©" => "©",
"ý" => "ý",
"Å®" => "Ù",
"«" => "«",
"Ä‚" => "Ã",
"Å ̄" => "ù",
"¬" => "¬",
"ă" => "ã",
"Å°" => "Û",
"Â-" => "-",
"Ä„" => "¥",
"ű" => "û",
"®" => "®",
"Ä..." => "¹",
"Ź" => "?",
"°" => "°",
"Ć" => "Æ",
"ź" => "Ÿ",
"±" => "±",
"ć" => "æ",
"Å»" => "̄",
"Â ́" => "́",
"ÄŒ" => "È",
"ż" => "¿",
"Âμ" => "μ",
"Ä?" => "è",
"Ž" => "Ž",
"¶" => "¶",
"ÄŽ" => "Ï",
"ž" => "ž",
"·" => "·",
"Ä?" => "ï",
"ˇ" => "¡",
"Â ̧" => "̧",
"Ä?" => "Ð",
"Ë ̃" => "¢",
"»" => "»",
"Ä‘" => "ð",
"Ë™" => "ÿ",
"Ã?" => "Á",
"Ä ̃" => "Ê",
"Ë›" => "²",
"Â" => "Â",
"Ä™" => "ê",
"Ë?" => "½",
"Ä" => "Ä",
"Äš" => "Ì",
"–" => "–",
"Ç" => "Ç",
"Ä›" => "ì",
"—" => "—",
"É" => "É",
"Ĺ" => "Å",
"†̃" => "‘",
"Ë" => "Ë",
"ĺ" => "å",
"’" => "’",
"Ã?" => "Í",
"Ľ" => "¼",
"‚" => "‚",
"ÃŽ" => "Î",
"ľ" => "¾",
"“" => "“",
"Ó" => "Ó",
"Å?" => "£",
"â€?" => "”",
"Ô" => "Ô",
"Å‚" => "³",
"„" => "„",
"Ö" => "Ö",
"Ń" => "Ñ",
"â€" => "†",
"×" => "×",
"Å„" => "ñ",
"‡" => "‡",
"Ú" => "Ú",
"Ň" => "Ò",
"•" => "•",
"Ãœ" => "Ü",
"ň" => "ò",
"- …" => ".",
"Ã?" => "Ý",
"Å?" => "Õ",
"‰" => "‰",
"ß" => "ß",
"Å‘" => "õ",
"‹" => "‹",
"á" => "á",
"Å”" => "À",
"›" => "›",
"â" => "â",
"Å•" => "à",
"€" => "€",
"ä" => "ä",
"Å̃" => "Ø",
"â„¢" => "™",
"ç" => "ç",
"Å™" => "ø",
"é" => "é",
"Åš" => "Œ",
"ë" => "ë",
"Å›" => "œ",
"Ã-" => "í",
"Åž" => "ª",
"î" => "î",
"ÅŸ" => "º",
"ó" => "ó",
"Å" => "Š",
);
$search = array_keys($map);
$replace = array_values($map);
$sql = file_get_contents($argv[1]);
$firstLine = true;
foreach (explode("\n", $sql) as $line) {
echo str_replace($search, $replace, $line);
if (!$firstLine) {
echo "\n";
} else {
$firstLine = false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment