Fix Turkish Charset Issue Html / PHP (iconv?)

Belgin Fish picture Belgin Fish · Feb 25, 2011 · Viewed 13.3k times · Source

i'm having troubles displaying turkish characters, they are appearing as the little question mark with the diamond in the background in html.

How can I use iconv to fix this? Since I think thats the best option right? Right now my page is utf-8 encoded.

I need to support characters like

ı ñ ş

aswell as be able to insert them into my db.

Thanks

Answer

trante picture trante · Mar 18, 2012

First I tried, utf8 encode-decode, failed, changed file format from ASCII to UTF-8, tried utf encode again, changed file format several times and failed.

Then i found out "iconv", tried and failed. Changed locale with "setlocale". Tried Turkish, English and other types, failed.

At last i wrote this function and I'm happy with the output :)

function transliterateTurkishChars($inputText) {
    $search  = array('ç', 'Ç', 'ğ', 'Ğ', 'ı', 'İ', 'ö', 'Ö', 'ş', 'Ş', 'ü', 'Ü');
    $replace = array('c', 'C', 'g', 'G', 'i', 'I', 'o', 'O', 's', 'S', 'u', 'U');
    $outputText=str_replace($search, $replace, $inputText);
    return $outputText;
}
$goodText=transliterateTurkishChars($badText);