我无法正确将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=
怀疑这与外壳有关。我将确保您的工具(包括编写器工具和您正在使用的所有工具)都正确地处理了UTF-8。我最怀疑的是,无论您阅读标签时使用的是什么,都将其解释和打印为Latin-1。您应该使用十六进制编辑器查看文件内部,并寻找标签。我敢打赌,它是正确的(C3 82,在UTF-8中是é,在Latin-1中是é。)。您的输出工具可能是问题所在,而不是编写器(绝对不是外壳程序)。
如果您的阅读工具要求使用Latin-1,则需要将é编码为E9。该iconv
工具在对脚本进行这些转换时很有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句