@VelesIS

Как исправить кодировку для корректного отображения данных, полученных через запрос get()?

Добрый день!
Помогите пожалуйста разобраться с кодировкой.
В index.html (кодировка utf-8) есть простой запрос:
$.get('word_mesning.php', queryString, function(data) {
	$('#word_meaning').append(data);
});

где queryString = 'word=' + inputText;.

В сценарии word_mesning.php (заголовок: header("Content-Type: text/html; charset=utf-8")) просто возвращаю полученное значение обратно.
$word=isset($_GET['word']) ? $_GET['word'] : $error;
echo $word;


С английским никаких проблем нет, но с другими языками следующая проблема - если возвращаю целиком полученное слово то слово возвращается нормально, проблем с кодировкой нет, но если возвращаю отдельный символ этого слова, отображается кракозябра.

Например queryString = "ааа".
если возвращаю слово целиком (echo $word) отобразиться "ааа"
если возвращаю отдельный символ этого слова (echo $word[0]), то отображается "�"

Не понимаю, что надо сделать с кодировкой и где, чтобы при возврате отдельных букв слова, они отображались корректно.

Спасибо за ответы!
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
echo(mb_substr($word, 0, 1));
И знакомиться с кодировкой UTF-8, а именно сколько байт используется для кодирования одного символа в UTF-8...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы