Исправить турецкий код ошибки Html / PHP (iconv?) - PullRequest
1 голос
/ 26 февраля 2011

У меня проблемы с отображением турецких символов, они отображаются в виде маленького вопросительного знака с бриллиантом на заднем плане в html.

Как я могу использовать iconv, чтобы это исправить?Так как я думаю, что это лучший вариант, верно?Сейчас моя страница в кодировке utf-8.

Мне нужно поддерживать такие символы, как

ı ñ ş

, а также иметь возможность вставить их в мою базу данных.

Спасибо

Ответы [ 3 ]

8 голосов
/ 18 марта 2012

Сначала я попробовал, utf8 закодировать-декодировать, не удалось, изменил формат файла с ASCII на UTF-8, попробовал снова кодировать utf, несколько раз изменил формат файла и потерпел неудачу.

Затем я узнал "iconv", попробовал и потерпел неудачу.Изменен язык с помощью "setlocale".Попробовал турецкий, английский и другие типы, не удалось.

Наконец я написал эту функцию, и я доволен выводом:)

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);
6 голосов
/ 26 февраля 2011

Решил с помощью

iconv("ISO-8859-1", "UTF-8", $text);
0 голосов
/ 01 марта 2012

Хотя в целом это верно, если $ text содержит некоторые турецкие символы, такие как «Çınar», перевод не будет выполнен, если ваша среда не настроена на работу с турецким языком.

В случае, если вам может потребоваться установить язык в php, напримерниже;

setlocale(LC_ALL, 'tr_TR');
...