В моей программе я получаю сообщение через NSTask. По какой-то причине иногда я не получал никаких результатов (хотя код, по-видимому, был таким же, как и команда из CLI, которая работала нормально), поэтому я проверил свой код и нашел в документации Apple, что при добавлении аргументов в объект NSTask ", объект NSTask преобразует оба пути и строки в аргументах в соответствующие строки в стиле C (используя файлSystemRepresentation) перед передачей их заданию через argv []" (snip).Проблема с кодировкой строки NSTask
Проблема в том, что я могу использовать термины типа «Río Gallegos». К сожалению (как я проверил с файловым представлением), который проходит преобразование и оказывается «RiÃÅo Gallegos».
Как я могу это решить?
- Ry
Спасибо за ответ, но он не работает ... Я также попытался установить переменную LC_CTYPE и LANG в среду задачи grep, но все равно не повезло. – ryyst
Как вы определили, что grep интерпретирует байты так, как вы показали в своем вопросе? –
Через метод NFString для создания представлений и NSLog(). Эксперимент показал, что работают только строки без «нестандартных» символов, таких как «í». Я вижу, что это не доказательство, но это убедительные доказательства. – ryyst