我无法正确地将UTF-8字符串值作为参数传递给命令行应用程序。
我试过的方法:
我正在使用Mac OS 10.10,iTerm和我当前的语言环境输出:
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
答案 0 :(得分:0)
令人怀疑这与shell有什么关系。我会确保你的工具(编写工具和你正在阅读的任何工具)都能正确处理UTF-8。我最怀疑的是,无论你正在阅读你的标签,都要将其解释并打印为Latin-1。您应该使用十六进制编辑器查看文件内部并查找标记。我认为它是正确的(C3 82,这是UTF-8中的é,拉丁语-1中的é)。您的输出工具可能是问题,而不是编写器(绝对不是shell)。
如果您的阅读工具需要Latin-1,那么您需要将é编码为E9。 {{1}}工具可用于为脚本进行转换。