AppleScript не может правильно отображать символы CJK из переменных среды - PullRequest
0 голосов
/ 27 апреля 2018

У AppleScript нет проблем при работе с символами UTF-8 внутри скрипта. Но он не может правильно извлечь символы UTF-8 из переменных среды.

osascript -e 'do shell script "echo " &"你好"'

你好

HELLO=你好 osascript -e 'do shell script "echo "& (system attribute "HELLO")'

‰ Ω † Â • Ω

Есть предложения, чтобы это исправить?

1 Ответ

0 голосов
/ 28 апреля 2018

Похоже, system attribute не соответствует LANG среды оболочки. Эх, они и древние, и противные.

Это даст вам правильное значение:

HELLO=你好 osascript -e 'do shell script "echo \"$HELLO\""'
# 你好

Либо используйте NSUserDefaults через мост AppleScript-ObjC. Я написал несколько библиотек AppleScript несколько лет назад; команда environment variables библиотеки File использует этот подход.

...