у меня возникают проблемы с отображением турецких персонажей, они появляются как маленький вопросительный знак с бриллиантом в фоновом режиме в html.
Как я могу использовать iconv, чтобы исправить это? Так как я думаю, что это лучший вариант? Сейчас моя страница закодирована в utf-8.
Мне нужно поддерживать таких персонажей, как
ı ş ş
а также возможность вставить их в мой db.
благодаря
Сначала я попытался, utf8 encode-decode, failed, изменил формат файла с 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);
Решила его, используя
iconv("ISO-8859-1", "UTF-8", $text);
Хотя это правда, в общем случае, если в тексте есть некоторые турецкие символы, такие как «Çınar», перерыв завершится неудачей, если ваша среда не настроена на работу в турецком языке.
В случае, если вам может потребоваться установить локаль внутри php, как показано ниже;
setlocale(LC_ALL, 'tr_TR');