C ++ / QT - фильтр QFileDialog :: getOpenFileName * .xml отключает файлы с японскими символами в имени - PullRequest
0 голосов
/ 02 августа 2011

Я пытаюсь использовать QFileDialog :: getOpenFileName с xml-фильтром, определенным tr ("XML Files (* .xml)"), чтобы попросить пользователя выбрать XML-файл.

Однако, если в каталоге есть файл с японскими символами в имени (например, ラ ド ク リ フ .xml), файл будет отключен, поэтому пользователь не сможет его выбрать. Другие файлы, такие как a.xml, b.xml, могут быть выбраны.

Почему это происходит? Есть ли способ это исправить?

Спасибо!

1 Ответ

1 голос
/ 02 августа 2011

Файл не "ラ ド ク リ フ .xml", это "ラ ド ク リ フ .xml", обратите внимание, что xml в конце имени файла не является ASCII; это латинские буквы полной ширины, т.е. кодовые точки UniCode 0xFF00-0xFFEF .

Исправление для ваших пользователей, чтобы переключиться обратно на ввод ASCII при вводе .xml в конце, или если ваше программное обеспечение локализовано для японского, добавьте полную ширину "* .xml" в ваш список фильтров.

...