我正在用locale en_US从ubuntu服务器迁移python应用程序.UTF-8连接到新的debian服务器,默认情况下C.UTF-8已经设置好.我试图了解是否会有任何影响,但在互联网上找不到好的资源来理解两者之间的区别.
我正在用locale en_US从ubuntu服务器迁移python应用程序.UTF-8连接到新的debian服务器,默认情况下C.UTF-8已经设置好.我试图了解是否会有任何影响,但在互联网上找不到好的资源来理解两者之间的区别.
一般来说,C
代表计算机,en_US
代表美国说英语的人(以及其他想要同样行为的人).
for computer意味着字符串有时更加标准化(但仍使用英语),因此可以从其他程序读取程序的输出.有了en_US
,字符串可以改进,字母顺序可以改进(可能是通过芝加哥风格规则的新规则,等等).因此更方便用户,但可能不太稳定.注意:locale不仅用于字符串的翻译,还用于排序(字母顺序、数字(例如千位分隔符)、货币(我认为可以安全地预测美元和2位十进制数字将保留)、月份、星期几等.
在您的情况下,它只是两个地区的UTF-8版本.
总的来说,这不重要.我通常更喜欢我们.UTF-8,但通常这并不重要,在你的情况下(服务器应用程序),它应该只更改日志(log)和错误消息(如果你使用locale.setlocale()
.你应该在应用程序内处理客户端区域设置.从其他程序读取的程序在打开管道之前应该设置C
,所以这并不重要.
如你所见,这可能无关紧要.您还可以使用POSIX
语言环境,也可以在Debian中定义.您可以通过locale -a
获得已安装地区的列表.
注意:微优化将规定C
/C.UTF-8
语言环境:不翻译文件(gettext
),以及关于排序和数字格式的简单规则,但这应该只在服务器端可见.