Skip to content

Instantly share code, notes, and snippets.

@Ephigenia
Created December 1, 2011 11:49
Show Gist options
  • Save Ephigenia/1416149 to your computer and use it in GitHub Desktop.
Save Ephigenia/1416149 to your computer and use it in GitHub Desktop.
CREATE FUNCTION fixUtf8Chars(str TEXT) RETURNS TEXT
BEGIN
SET str = REPLACE(str, CHAR(0xC383C2A9), CHAR(0xC3A9)); -- é
SET str = REPLACE(str, CHAR(0xC383C289), CHAR(0xC389)); -- É
SET str = REPLACE(str, CHAR(0xC383C2A8), CHAR(0xC3A8)); -- è
SET str = REPLACE(str, CHAR(0xC383C288), CHAR(0xC388)); -- È
SET str = REPLACE(str, CHAR(0xC383C2AA), CHAR(0xC3AA)); -- ê
SET str = REPLACE(str, CHAR(0xC383C28A), CHAR(0xC38A)); -- Ê
SET str = REPLACE(str, CHAR(0xC384C296), CHAR(0xC496)); -- Ė
SET str = REPLACE(str, CHAR(0xC384C297), CHAR(0xC497)); -- ė
SET str = REPLACE(str, CHAR(0xC383C2AB), CHAR(0xC3AB)); -- ë
SET str = REPLACE(str, CHAR(0xC383C28B), CHAR(0xC38B)); -- Ë
SET str = REPLACE(str, CHAR(0xC383C2A4), CHAR(0xC3A4)); -- ä
SET str = REPLACE(str, CHAR(0xC383C284), CHAR(0xC384)); -- Ä
SET str = REPLACE(str, CHAR(0xC383C2A1), CHAR(0xC3A1)); -- á
SET str = REPLACE(str, CHAR(0xC383C281), CHAR(0xC381)); -- Á
SET str = REPLACE(str, CHAR(0xC383C2A0), CHAR(0xC3A0)); -- à
SET str = REPLACE(str, CHAR(0xC383C280), CHAR(0xC380)); -- À
SET str = REPLACE(str, CHAR(0xC383C2A2), CHAR(0xC3A2)); -- â
SET str = REPLACE(str, CHAR(0xC383C282), CHAR(0xC382)); -- Â
SET str = REPLACE(str, CHAR(0xC383C2A3), CHAR(0xC3A3)); -- ã
SET str = REPLACE(str, CHAR(0xC383C283), CHAR(0xC383)); -- Ã
SET str = REPLACE(str, CHAR(0xC383C2A5), CHAR(0xC3A5)); -- å
SET str = REPLACE(str, CHAR(0xC383C285), CHAR(0xC385)); -- Å
SET str = REPLACE(str, CONCAT(CHAR(0xC383), CHAR(0xE280A6)), CHAR(0xC385)); -- Å
SET str = REPLACE(str, CONCAT(CHAR(0xc383), CHAR(0xE2809E)), CHAR(0xC385)); -- Å
SET str = REPLACE(str, CHAR(0xC383C2BC), CHAR(0xC3BC)); -- ü
SET str = REPLACE(str, CHAR(0xC383C29C), CHAR(0xC39C)); -- Ü
SET str = REPLACE(str, CHAR(0xC383C2BA), CHAR(0xC3BA)); -- ú
SET str = REPLACE(str, CHAR(0xC383C29A), CHAR(0xC39A)); -- Ú
SET str = REPLACE(str, CHAR(0xC383C2B9), CHAR(0xC3B9)); -- ù
SET str = REPLACE(str, CHAR(0xC383C299), CHAR(0xC399)); -- Ù
SET str = REPLACE(str, CHAR(0xC383C2BB), CHAR(0xC3BB)); -- û
SET str = REPLACE(str, CHAR(0xC383C29B), CHAR(0xC39B)); -- Û
SET str = REPLACE(str, CHAR(0xC385C2A9), CHAR(0xC5A9)); -- ũ
SET str = REPLACE(str, CHAR(0xC385C2A8), CHAR(0xC5A8)); -- Ũ
SET str = REPLACE(str, CHAR(0xC385C2AB), CHAR(0xC5AB)); -- ū
SET str = REPLACE(str, CHAR(0xC385C2AA), CHAR(0xC5AA)); -- Ū
SET str = REPLACE(str, CHAR(0xC383C2B6), CHAR(0xC3B6)); -- ö
SET str = REPLACE(str, CHAR(0xC383C296), CHAR(0xC396)); -- Ö
SET str = REPLACE(str, CONCAT(CHAR(0xC383), CHAR(0xE28093)), CHAR(0xC396)); -- Ö
SET str = REPLACE(str, CHAR(0xC383C2B3), CHAR(0xC3B3)); -- ó
SET str = REPLACE(str, CHAR(0xC383C293), CHAR(0xC393)); -- Ó
SET str = REPLACE(str, CHAR(0xC383C2B2), CHAR(0xC3B2)); -- ò
SET str = REPLACE(str, CHAR(0xC383C292), CHAR(0xC392)); -- Ò
SET str = REPLACE(str, CHAR(0xC383C2B4), CHAR(0xC3B4)); -- ô
SET str = REPLACE(str, CHAR(0xC383C294), CHAR(0xC394)); -- Ô
SET str = REPLACE(str, CHAR(0xC383C2B5), CHAR(0xC3B5)); -- õ
SET str = REPLACE(str, CHAR(0xC383C295), CHAR(0xC395)); -- Õ
SET str = REPLACE(str, CHAR(0xC383C2B8), CHAR(0xC3B8)); -- ø
SET str = REPLACE(str, CHAR(0xC383C298), CHAR(0xC398)); -- Ø
SET str = REPLACE(str, CHAR(0xC383C2AD), CHAR(0xC3AD)); -- í
SET str = REPLACE(str, CHAR(0xC383C28D), CHAR(0xC38D)); -- Í
SET str = REPLACE(str, CHAR(0xC383C2AC), CHAR(0xC3AC)); -- ì
SET str = REPLACE(str, CHAR(0xC383C28C), CHAR(0xC38C)); -- Ì
SET str = REPLACE(str, CHAR(0xC383C2AE), CHAR(0xC3AE)); -- î
SET str = REPLACE(str, CHAR(0xC383C28E), CHAR(0xC38E)); -- Î
SET str = REPLACE(str, CHAR(0xC384C2A9), CHAR(0xC4A9)); -- ĩ
SET str = REPLACE(str, CHAR(0xC384C2A8), CHAR(0xC4A8)); -- Ĩ
SET str = REPLACE(str, CHAR(0xC383C28F), CHAR(0xC38F)); -- Ï
SET str = REPLACE(str, CHAR(0xC383C2AF), CHAR(0xC3AF)); -- ï
SET str = REPLACE(str, CHAR(0xC383C28F), CHAR(0xC38F)); -- Ï
SET str = REPLACE(str, CHAR(0xC383C2B1), CHAR(0xC3B1)); -- ñ
SET str = REPLACE(str, CHAR(0xC383C291), CHAR(0xC391)); -- Ñ
SET str = REPLACE(str, CHAR(0xC385C284), CHAR(0xC584)); -- ń
SET str = REPLACE(str, CHAR(0xC385C283), CHAR(0xC583)); -- Ń
SET str = REPLACE(str, CHAR(0xC385C288), CHAR(0xC588)); -- ň
SET str = REPLACE(str, CHAR(0xC385C287), CHAR(0xC587)); -- Ň
SET str = REPLACE(str, CHAR(0xC385C2BE), CHAR(0xC5BE)); -- ž
SET str = REPLACE(str, CHAR(0xC385C2BD), CHAR(0xC5BD)); -- Ž
SET str = REPLACE(str, CHAR(0xC385C2BA), CHAR(0xC5BA)); -- ź
SET str = REPLACE(str, CHAR(0xC385C2B9), CHAR(0xC5B9)); -- Ź
SET str = REPLACE(str, CHAR(0xC383C29F), CHAR(0xC39F)); -- ß
SET str = REPLACE(str, CHAR(0xC3A2C280C293), CHAR(0xE28093)); --
SET str = REPLACE(str, CHAR(0xC382C2B2), CHAR(0xC2B2)); -- ²
SET str = REPLACE(str, CHAR(0xC382C2B3), CHAR(0xC2B3)); -- ³
SET str = REPLACE(str, CHAR(0xC382C2BD), CHAR(0xC2BD)); -- ½
SET str = REPLACE(str, CHAR(0xC382C2BC), CHAR(0xC2BC)); -- ¼
SET str = REPLACE(str, CHAR(0xC3A2C280C2A6), CHAR(0xE280A6)); --
SET str = REPLACE(str, CHAR(0xC382C2B7), CHAR(0xC2B7)); -- ·
SET str = REPLACE(str, CHAR(0xC3A2C280C2A2), CHAR(0xE280A2)); --
SET str = REPLACE(str, CHAR(0xC3A2C280C29C), CHAR(0xE2809C)); --
SET str = REPLACE(str, CHAR(0xC3A2C280C29D), CHAR(0xE2809D)); --
SET str = REPLACE(str, CHAR(0xC3A2C280C29F), CHAR(0xE2809F)); --
SET str = REPLACE(str, CHAR(0xC3A2C280C29E), CHAR(0xE2809E)); --
SET str = REPLACE(str, CHAR(0xC3A2C280C299), CHAR(0xE28099)); --
SET str = REPLACE(str, CHAR(0xC3A2C280C298), CHAR(0xE28098)); --
SET str = REPLACE(str, CHAR(0x27), CHAR(0x27)); -- '
SET str = REPLACE(str, CHAR(0x60), CHAR(0x60)); -- `
SET str = REPLACE(str, CHAR(0xC3A2C280C299), CHAR(0xE28099)); --
SET str = REPLACE(str, CONCAT(char(0xC3), CHAR(0x82), char(0xC2), CHAR(0xB4)), CHAR(0xE28099)); --
SET str = REPLACE(str, CHAR(0xC382C2AE), CHAR(0xC2AE)); -- ®
SET str = REPLACE(str, CHAR(0xC382C2A9), CHAR(0xC2A9)); -- ©
SET str = REPLACE(str, CHAR(0xC382C2BF), CHAR(0xC2BF)); -- ¿
SET str = REPLACE(str, CHAR(0xC382C2A1), CHAR(0xC2A1)); -- ¡
SET str = REPLACE(str, CHAR(0xC3A2C284C2A2), CHAR(0xE284A2)); --
SET str = REPLACE(str, CHAR(0x24), CHAR(0x24)); -- $
SET str = REPLACE(str, CHAR(0xC382C2A3), CHAR(0xC2A3)); -- £
SET str = REPLACE(str, CHAR(0xC382C2A5), CHAR(0xC2A5)); -- ¥
SET str = REPLACE(str, CHAR(0xC3A2C282C2AC), CHAR(0xE282AC)); --
SET str = REPLACE(str, CHAR(0xC382C2A2), CHAR(0xC2A2)); -- ¢
SET str = REPLACE(str, CHAR(0xC3AFC2ACC281), CHAR(0xEFAC81)); --
SET str = REPLACE(str, CHAR(0xC38BC29C), CHAR(0xCB9C)); -- ˜
SET str = REPLACE(str, CHAR(0xC382C2A7), CHAR(0xC2A7)); -- §
SET str = REPLACE(str, CHAR(0xC382C2AB), CHAR(0xC2AB)); -- «
SET str = REPLACE(str, CHAR(0xC382C2BB), CHAR(0xC2BB)); -- »
SET str = REPLACE(str, CHAR(0xC3A2C288C291), CHAR(0xE28891)); --
SET str = REPLACE(str, CHAR(0xC3A2C280C2A0), CHAR(0xE280A0)); --
SET str = REPLACE(str, CHAR(0xC38EC2A9), CHAR(0xCEA9)); -- Ω
SET str = REPLACE(str, CHAR(0xC382C2A8), CHAR(0xC2A8)); -- ¨
SET str = REPLACE(str, CHAR(0xC383C2B8), CHAR(0xC3B8)); -- ø
SET str = REPLACE(str, CHAR(0xC38FC280), CHAR(0xCF80)); -- π
SET str = REPLACE(str, CHAR(0xC382C2B1), CHAR(0xC2B1)); -- ±
SET str = REPLACE(str, CHAR(0xC3A2C280C2B0), CHAR(0xE280B0)); --
SET str = REPLACE(str, CHAR(0xC382C2B8), CHAR(0xC2B8)); -- ¸
SET str = REPLACE(str, CHAR(0xC38BC29D), CHAR(0xCB9D)); -- ˝
SET str = REPLACE(str, CHAR(0xC38BC287), CHAR(0xCB87)); -- ˇ
SET str = REPLACE(str, CHAR(0xC3A2C288C28F), CHAR(0xE2888F)); --
SET str = REPLACE(str, CHAR(0xC382C2B0), CHAR(0xC2B0)); -- °
SET str = REPLACE(str, CHAR(0xC3AFC2A3C2BF), CHAR(0xEFA3BF)); --
SET str = REPLACE(str, CHAR(0xC3A2C288C282), CHAR(0xE28882)); --
SET str = REPLACE(str, CHAR(0xC386C292), CHAR(0xC692)); -- ƒ
SET str = REPLACE(str, CHAR(0xC382C2AA), CHAR(0xC2AA)); -- ª
SET str = REPLACE(str, CHAR(0xC3A2C288C286), CHAR(0xE28886)); --
SET str = REPLACE(str, CHAR(0xC385C293), CHAR(0xC593)); -- œ
SET str = REPLACE(str, CHAR(0xC384C2B1), CHAR(0xC4B1)); -- ı
SET str = REPLACE(str, CHAR(0xC38BC286), CHAR(0xCB86)); -- ˆ
SET str = REPLACE(str, CHAR(0xC3AFC2ACC282), CHAR(0xEFAC82)); --
SET str = REPLACE(str, CHAR(0xC385C292), CHAR(0xC592)); -- Œ
SET str = REPLACE(str, CHAR(0xC383C286), CHAR(0xC386)); -- Æ
SET str = REPLACE(str, CHAR(0xC383C2A7), CHAR(0xC3A7)); -- ç
SET str = REPLACE(str, CHAR(0xC3A2C288C29A), CHAR(0xE2889A)); --
SET str = REPLACE(str, CHAR(0xC3A2C288C2AB), CHAR(0xE288AB)); --
SET str = REPLACE(str, CHAR(0xC3A2C288C29E), CHAR(0xE2889E)); --
SET str = REPLACE(str, CHAR(0xC3A2C280C2A1), CHAR(0xE280A1)); --
SET str = REPLACE(str, CHAR(0xC383C287), CHAR(0xC387)); -- Ç
SET str = REPLACE(str, CHAR(0xC38BC298), CHAR(0xCB98)); -- ˘
SET str = REPLACE(str, CHAR(0xC383C2B7), CHAR(0xC3B7)); -- ÷
SET str = REPLACE(str, CHAR(0xC3A2C289C2A5), CHAR(0xE289A5)); --
SET str = REPLACE(str, CHAR(0xC3A2C289C2A4), CHAR(0xE289A4)); --
SET str = REPLACE(str, CHAR(0xC3A2C280C294), CHAR(0xE28094)); --
SET str = REPLACE(str, '’', '');
SET str = REPLACE(str, '–', ''); -- '"“'
SET str = REPLACE(str, '', '"');
return str;
END $$
UPDATE relaunch_users SET
firstname = fixUtf8Chars(firstname),
lastname = fixUtf8Chars(lastname),
city = fixUtf8Chars(city),
description = fixUtf8Chars(description),
street = fixUtf8Chars(street)
$$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment