Как загрузить TextAsset из текстового файла, содержащего расширенные символы ASCII в Unity?

В моем случае, в моем текстовом файле есть маркеры (• или #149).
Если я скопирую вставить "•" в мое текстовое поле Unity в редакторе, оно отобразится, поэтому я почти уверен, что точка обзора теряется в процессе чтения. (Я проверил в режиме отладки, и действительно, точка пули теряется при чтении).

Вот как я читаю в своем текстовом файле как TextAsset:

TextAsset content = Resources.Load(SlideManager.slideLanguage+"\\"+fileName+" ("+SlideManager.slideNumber+")") as TextAsset; 

1 ответ

Решение

Оказывается, то, как я читаю, совершенно нормально. Он правильно читает файл, но кодировка файла ASCII, поэтому загрузчик ресурсов не может интерпретировать ни один из символов ASCII и удаляет их.

Таким образом, поскольку пункт с маркером - это не стандартный ASCII, а расширенный символ ASCII, вам необходимо указать кодировку текстовых файлов.
Например, установите кодировку UTF-8, и тогда она будет работать.

Я использовал notepad++ для установки кодировки, но я уверен, что есть много других способов сделать это.

Чтобы установить кодировку в Notepad++

  • Нажмите на вкладку " Кодировка" (по умолчанию пятая вкладка слева вверху) и выберите " Преобразовать в UTF-8".
Другие вопросы по тегам