![在 OSX 上使用 scselect 设置带重音字符的位置](https://linux22.com/image/1298572/%E5%9C%A8%20OSX%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20scselect%20%E8%AE%BE%E7%BD%AE%E5%B8%A6%E9%87%8D%E9%9F%B3%E5%AD%97%E7%AC%A6%E7%9A%84%E4%BD%8D%E7%BD%AE.png)
我有一个名为“Café en Madrid”的位置。如果我尝试在终端上使用 scselect 设置它,重音符号 é 会变成乱码,命令会失败:
[kodai.fernando ~/Desktop] scselect "Café en Madrid"
Set "Café en Madrid" not available.
Defined sets include: (* == current set)
64E7FFFD-4F08-46AB-ADAF-0CF5BEC57169 (Café en Madrid)
* E790486F-5BDE-44D7-8C1D-43940F1F551C (Sao Francisco)
D98A096B-5D3E-4FA2-8F72-915EE50FEC5E (Automatic)
我该如何修复这个问题?不,我不想删除重音字符。
答案1
scselect
假设其参数被编码为Mac OS 罗马(搜索kCFStringEncodingMacRoman
),终端默认使用统一码 (UTF-8). 在偏好设置中更改它:
$ scselect "Café en Madrid"
CurrentSet updated to C88601E1-7163-429A-BB0C-E304DB2E00F7 (Café en Madrid)
有趣的是,这会破坏输出。
考虑向 Apple 报告错误。