Как загрузить 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".