Строка Unicode php

У меня есть вопрос! Я хочу напечатать строку unicode в php (например, «سلام»)! но когда я использую эхо только некоторые ??? !!! появляться

что я могу сделать ??? Это происходит, когда я хочу, чтобы ch-строка была получена из базы данных!

echo 'سلام'; 

результат:

 ???? 

Я попытался использовать функцию заголовка, но это не помогло мне!

Вам нужно сделать три вещи:

  1. Убедитесь, что вы получаете данные как данные UTF-8. Для MySQL запросите SET NAMES 'utf8' перед выбором записей.
  2. Убедитесь, что вы используете совместимые с UTF-8 функции при работе с строками UTF-8.
  3. Убедитесь, что вы устанавливаете выходную кодировку как UTF-8. Для HTML это можно сделать, установив HTTP-заголовок Content-type (например) text/html; charset=utf-8 text/html; charset=utf-8 .

Конечно, замените «UTF-8» любой кодировкой, которая вам нужна, которая поддерживает нужные вам символы. Нет необходимости изменять таблицы базы данных (за исключением возможного прироста производительности). Возможно, вам придется изменить HTML-шаблоны и т. Д., Если вы решите использовать UTF-16 или что-то еще, что не является (в основном) ASCII-совместимым.

Вам нужно объявить используемую кодировку символов в ответе HTTP. Вы можете использовать функцию header :

 header('Content-Type: text/html;charset=utf-8'); 

С этим объявлением считается HTML с кодировкой символов UTF-8. Обратите внимание: вы не можете использовать header когда вы уже отправили данные клиенту без его буферизации. Поэтому либо используйте выходной контроллер для буферизации вывода, чтобы вы могли изменить заголовок, хотя уже был какой-то вывод или использовать header перед любым выходом.

Может быть, я слишком поздно, но это сработало для меня:

 echo utf8_encode('سلام');