15

以下 Python 代码适用于我的 Windows 机器(Python 2.5.4),但不适用于我的 Debian 机器(Python 2.5.0)。我猜它取决于操作系统。

import locale
locale.setlocale( locale.LC_ALL, 'English_United States.1252' )

我收到以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/locale.py", line 476, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

问题:

  • 它依赖于操作系统吗?
  • 如何在 Python 中找到支持的语言环境列表?
  • 如何在 Windows 语言环境和 Debian 语言环境之间进行匹配?
4

4 回答 4

21

它取决于操作系统。

要获取本地可用列表,您可以locale -a在 shell中使用

我认为你想要的本地人是这样的Windows-1252

于 2009-08-11T12:20:27.973 回答
9

尝试

apt-get install locales-all

对我来说,它就像一个魅力

于 2011-04-14T09:24:28.560 回答
8

查字典locale.locale_alias

>>> import locale
>>> len(locale.locale_alias)
789
>>> locale.locale_alias.keys()[:5]
['ko_kr.euc', 'is_is', 'ja_jp.mscode', 'kw_gb@euro', 'yi_us.cp1255']
>>> 

(在我的 2.6.2 安装中,有 789 个语言环境名称。)

于 2009-08-11T12:40:55.653 回答
1

在 Ubuntu 上精确类型

sudo locale-gen en_US

于 2012-10-19T14:19:59.267 回答