Среда, в которой вы работаете, может поддерживать эти символы, в дополнение к этому ваш терминал (или все, что вы используете для просмотра вывода) может поддерживать отображение этих символов. Некоторые терминалы / командные строки или текстовые редакторы могут не поддерживать их. Помимо отображения проблем, вот некоторые фактические причины и примеры:
1- При передаче данных через Интернет / сеть (например, через сокет) информация передается в виде необработанных байтов. Не-ascii символы не могут быть представлены одним байтом, поэтому нам нужно специальное представление для них (utf-16 или utf-8 с более чем одним байтом). Это самая распространенная причина, с которой я столкнулся.
2- Некоторые текстовые редакторы поддерживают только utf-8. Например, вам нужно представить свой символ Ẁ в формате utf-8, чтобы работать с ними. Причина этого в том, что при работе с текстом люди обычно используют символы ASCII, которые составляют всего один байт. Когда некоторые системы нужно было интегрировать с не-символами ascii, люди конвертировали их в utf-8. Некоторые люди с более глубокими знаниями о текстовых редакторах могут дать лучшее объяснение по этому вопросу.
3- У вас может быть текст, написанный с символами Юникода с некоторыми китайскими / русскими буквами, и по какой-то причинесохраните его на своем удаленном сервере Linux. Но ваш сервер не поддерживает письма с этих языков. Вам необходимо преобразовать ваш текст в какой-то строгий формат (utf-8 или utf-16) и сохранить его на своем сервере, чтобы вы могли восстановить его позже.
Вот небольшое объяснение UTF-8формат . Есть также другие статьи на эту тему, если вы заинтересованы.