質問

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

役に立ちましたか?

解決 2

Solved it by using

iconv("ISO-8859-1", "UTF-8", $text);

他のヒント

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);

Although that's true in general if $text contains some Turkish chars like "Çınar" translition will fail unless your environment is set to work on Turkish locale.

In case you may need to set locale within php like below;

setlocale(LC_ALL, 'tr_TR');
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top