tim*_*mkl 15 unix shell character-encoding
我正在使用Gina Trapiani的优秀todo.sh来组织我的待办事项列表.
然而,作为一个丹麦人,如果剧本接受像ø和æ这样的特殊丹麦人物,那就太好了.
我是一个绝对的UNIX-n00b,所以如果有人能告诉我如何解决这个问题,那将是一个很大的帮助!:)
bri*_*gge 17
慢慢地,Unix世界正在从ASCII和其他区域编码转向UTF-8.您需要运行UTF终端,例如现代xterm或putty.
在〜/ .bash_profile中,您将语言设置为UTF-8变体之一.
export LANG=C.UTF-8
or
export LANG=en_AU.UTF-8
etc..
Run Code Online (Sandbox Code Playgroud)
然后,您应该能够在终端中编写UTF-8字符,并将它们包含在bash脚本中.
#!/bin/bash
echo "UTF-8 is græat ?"
Run Code Online (Sandbox Code Playgroud)
另请参阅:https://serverfault.com/questions/11015/utf-8-and-shell-scripts
Pau*_*ce. 16
这个命令显示了什么?
locale
Run Code Online (Sandbox Code Playgroud)
它应该为你显示这样的东西:
LC_CTYPE="da_DK.UTF-8"
LC_NUMERIC="da_DK.UTF-8"
LC_TIME="da_DK.UTF-8"
LC_COLLATE="da_DK.UTF-8"
LC_MONETARY="da_DK.UTF-8"
LC_MESSAGES="da_DK.UTF-8"
LC_PAPER="da_DK.UTF-8"
LC_NAME="da_DK.UTF-8"
LC_ADDRESS="da_DK.UTF-8"
LC_TELEPHONE="da_DK.UTF-8"
LC_MEASUREMENT="da_DK.UTF-8"
LC_IDENTIFICATION="da_DK.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
如果没有,您可以在运行脚本之前尝试执行此操作:
LANG=da_DK.UTF-8
Run Code Online (Sandbox Code Playgroud)
您没有说明运行脚本时会发生什么,并且遇到这些字符.他们在todo文件中吗?他们是在提示时输入的吗?有错误信息吗?输出是否取代了预期的输出?
试试这个,看看你得到了什么:
read -p "Enter some characters" string
echo "$string"
Run Code Online (Sandbox Code Playgroud)