Проблема форматирования при использовании манипуляции для отображения списков - PullRequest
1 голос
/ 02 декабря 2011

Пожалуйста, рассмотрите следующую проблему.

Я пишу быструю Manipulate[] программу для отображения тонны информации, но у меня проблема с Юникодом.Вот что у меня сейчас есть для ввода и вывода:

Manipulate[
 request = filenumber <> "*";
 filenames = FileNames[request];
 display = Import[type, "List"];
 Short[display, 25]
 , {filenumber, "001", InputField}, {type, filenames, PopupMenu}]

enter image description here

Проблема в том, что акценты на французском языке появляются странным образом.Быстрый обходной путь, о котором я подумал, состоял в том, чтобы изменить мой код на Import[type,"Plaintext"];, который работает, но затем отображает информацию в виде списка, например так:

enter image description here

Что бы вы предложили в качествеспособ получить ясность второго примера с простым форматом списка первого?Так что он переносится на строку, а не на разрыв строки после каждой записи.

В качестве отступления - возможно, столь же важного, как и сам вопрос - может ли кто-нибудь объяснить причину, почему импорт в виде «Списка» искажает юникод?У меня было много проблем с этим, и понимание основного поведения могло бы помочь мне быстрее двигаться вперед.

1 Ответ

6 голосов
/ 02 декабря 2011

Хотя Import не имеет параметров, связанных с самим собой, оно принимает параметры, относящиеся к импортируемому формату.В частности, смотрите список параметров Options в ref / Format / List .

В данном случае вы можете указать кодировку файла с помощью CharacterEncoding->"UTF8":

Import[filename, "List", CharacterEncoding -> "UTF8"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...