Questions tagged «locale»

语言环境是一组参数,用于定义用户的语言,国家/地区以及用户希望在其用户界面中看到的任何特殊的变体首选项。


7
为什么没有“欧洲英语”语言环境?
en_DK.UTF-8在安装新系统时,我曾经使用过古怪的语言环境,因为即使我不在丹麦,这也会(大致)产生我想要的语言环境结果。 测量指标 合理的日期和时间格式,但英文的日期和月份名称 24小时制 工作周从星期一开始 数值日期(至少类似于)ISO格式,yyyy-mm-dd 非正式日期是dd / mm,反之亦然 A4纸尺寸 欧元货币 英文系统消息 las,Ubuntu和Debian似乎不再支持en_DK语言环境。我一直认为应该有一些类似en_EU“欧洲英语”的词。 我工作过的每个地方都有这样的要求-该组织的官方语言是英语,但我们希望欧洲大陆默认其他条件。 我想我不是第一个认为“位置不可知”的英语区域设置将使我个人和工作单位受益的人。那么为什么不存在它,我在哪里寻找进一步的讨论和理由呢? ...还是我应该提出建议?给谁?
93 locale  i18n 

5
无法设置语言环境的问题;确保$ LC_ *和$ LANG是正确的!
当我总是尝试安装新软件包时,会显示以下消息: Can't set locale; make sure $LC_* and $LANG are correct! perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_GB:en", LC_ALL = (unset), LC_CTYPE = "en_GB.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard …
49 debian  locale 

3
Linux上的文件名和路径使用哪种字符集编码?
是否取决于我使用的文件系统?例如,ext2 / ext3 / ext4,但是当我插入一张带有ISO 9660的“ joliet” CD-ROM时会发生什么呢?我听说POSIX包含某种文件名字符集编码规范? 本质上,我想知道是否有UTF-8编码的文件名,在将其传递给Linux中的文件I / O API之前需要进行哪些处理/转换?

7
为什么[AZ]匹配bash中的小写字母?
在我所知道的所有shell中,都rm [A-Z]*删除了以大写字母开头的所有文件,但是使用bash删除了以字母开头的所有文件。 由于在使用bash-3和bash-4的Linux和Solaris上存在此问题,因此它不能是由libc中的错误模式匹配器或配置错误的语言环境定义引起的错误。 是这种奇怪而危险的行为,还是仅仅是多年来未修复的错误?
42 bash  shell  wildcards  locale 

4
找不到语言环境/设置语言环境失败-我该怎么办?
我已经在VPS(OpenVZ)上安装了Debian 7 i386。一切正常,除了语言环境-任何尝试安装的东西都显示: [...] perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "pl_PL.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No …
32 debian  locale 


5
为什么几乎每个程序都抱怨我的语言环境?
我使用的是Arch Linux,并且已按照Wiki上有关设置语言环境的说明进行操作。 几乎每个运行的程序都抱怨语言环境-甚至locale。看起来像这样: % locale locale: Cannot set LC_ALL to default locale: No such file or directory LANG= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en-US LC_TIME=en-US LC_COLLATE="POSIX" LC_MONETARY=en-US LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT=en-US LC_IDENTIFICATION="POSIX" LC_ALL= 要么: % perl perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), …

5
更新了我的Arch Linux服务器,现在我得到了tmux:需要UTF-8语言环境(LC_CTYPE)但具有ANSI_X3.4-1968
我最近更新了Arch Linux服务器,在此过程中更新了tmux。tmux升级进行时,我一直在使用,后来使用它,但是所有过程都在同一SSH会话中进行。 但是现在,每当我尝试发出任何tmux命令时,都会出现此错误: tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968 这是locale -a服务器上的输出: $ locale -a C POSIX 在我的机器上(Ubuntu 15.10): $ locale -a C C.UTF-8 en_AG en_AG.utf8 en_AU.utf8 en_BW.utf8 en_CA.utf8 en_DK.utf8 en_GB.utf8 en_HK.utf8 en_IE.utf8 en_IN en_IN.utf8 en_NG en_NG.utf8 en_NZ.utf8 en_PH.utf8 en_SG.utf8 en_US.utf8 en_ZA.utf8 en_ZM en_ZM.utf8 en_ZW.utf8 POSIX 怎么回事,我该如何解决?

2
LC_COLLATE是否(应该)影响字符范围?
整理顺序LC_COLLATE不仅定义了各个字符的排序顺序,而且还定义了字符范围的含义。还是呢?考虑以下代码段: unset LANGUAGE LC_ALL echo B | LC_COLLATE=en_US grep '[a-z]' 直观上,Bnot in中[a-z],因此不应输出任何内容。这就是在Ubuntu 8.04或10.04上发生的情况。但是,在某些运行Debian lenny或squeeze的计算机上,B发现了该字符,因为该范围a-z包括排序规则之间a和z排序规则中的所有内容,包括大写字母B到Z。 所有测试的系统的确en_US生成了语言环境。我还尝试过更改语言环境:在B上面匹配的机器上,{en_{AU,CA,GB,IE,US},fr_FR,it_IT,es_ES,de_DE}{iso8859-1,iso8859-15,utf-8}除日语(使用任何可用编码)和C/ 之外,每个可用语言环境(大多是基于拉丁语的:,也包括中文语言环境)中都会发生相同的情况POSIX。 当您超出ASCII时,字符范围在正则表达式中意味着什么?为什么一方面某些Debian安装与另一方面的其他Debian安装与Ubuntu之间有区别?其他系统如何表现?谁是正确的,谁应该报告错误? (请注意,我是专门询问字符范围的行为,例如[a-z]在en_US语言环境中,主要是在基于GNU libc的系统上。我不是在问如何匹配小写字母或ASCII小写字母。) 两个Debian的机器,一个地方B是在[a-z]和一个地方是不是,输出LC_COLLATE=en_US locale -k LC_COLLATE就是 collate-nrules=4 collate-rulesets="" collate-symb-hash-sizemb=1 collate-codeset="ISO-8859-1" 和的输出LC_COLLATE=en_US.utf8 locale -k LC_COLLATE是 collate-nrules=4 collate-rulesets="" collate-symb-hash-sizemb=2039 collate-codeset="UTF-8"

3
为什么排序说ɛ= e?
ɛ(“拉丁字母epsilon”)是某些非洲语言中使用的字母,通常代表英语“ bed”中的元音。在Unicode中,它的编码为U + 025B,与日常的非常不同e。 但是,如果我sort以下内容: eb ed ɛa ɛc 似乎sort考虑ɛ和e等效: ɛa eb ɛc ed 这里发生了什么?而且是有办法让ɛ和e独特的sort荷兰国际集团的目的呢?
25 sort  locale  unicode 

3
了解Unix文件名编码
我很难理解文件名编码的工作方式。在unix.SE上,我发现矛盾的解释。 文件名存储为字符 引用另一个答案: 关于Linux上文件系统字符编码的几个问题 正如您在问题中提到的[…],UNIX文件名只是一个字符序列;内核对编码一无所知,而编码完全是用户空间(即应用程序级)的概念。 如果文件名存储为字符,则必须进行某种编码,因为最后文件名必须以磁盘上的位或字节序列结尾。如果用户可以选择任何编码来将字符映射到馈送给内核的字节序列,则可以为有效文件名创建任何字节序列。 假设以下内容:用户使用随机编码X,它将文件foo转换为字节序列α并将其保存到磁盘。另一个用户使用编码ÿ。在这种编码中,α转换为/,不允许作为文件名。但是,对于第一个用户,该文件有效。 我认为这种情况不会发生。 文件名存储为二进制Blob 引用另一个答案: 在Linux上,文件名和路径使用哪种字符集编码? 正如其他人所指出的那样,这确实没有答案:文件名和路径没有编码。OS仅处理字节序列。各个应用程序可能选择将它们解释为以某种方式进行编码,但这有所不同。 如果系统不处理字符,如何在文件名中禁止使用特定字符(例如/或NULL)?没有/ 编码就没有a的概念。 一种解释是,文件系统可以存储包含任何 字符的文件名,只有考虑到编码的用户程序才会阻止包含无效字符的文件名。反过来,这意味着文件系统和内核可以毫无困难地处理包含/。的文件名。 我也认为这是错误的。 编码在哪里进行,不允许使用特定字符的限制在哪里?

4
在不区分大小写的情况下,如何使“ ls”首先显示点文件?
在目录中创建以下文件。 $ touch .a .b a b A B 你好嗎 我的默认ls顺序忽略了前导点的存在,将它们与其他文件混合在一起。 $ ls -Al total 0 -rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 a -rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 .a -rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 A -rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 …
21 ls  locale 

2
括号表达式(无范围)与bash中的意外字符匹配
我在Linux上使用bash。我从以下if语句中获得了成功,但是这不应该返回失败代码吗? if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi 正方形不等于任何字符,所以我看不到为什么我得到一个成功代码。 对于我来说,保持双括号很重要。 在这种情况下,还有其他方法可以做一个范围吗,或者还有什么其他建议?
20 bash  locale  test 

4
如何使ls先排序下划线字符?
我希望能够使用下划线前缀来命名文件和目录,因为这是我想与同一级别的其他文件和目录分开的原因。例如,在Windows和Mac上,在文件前加下划线前缀会将其排在顶部,并以字母数字字符开头。 我的谷歌搜索发现它与LC_COLLATE和当前的语言环境(en_US)有关。很好,尽管我真的不明白为什么en_US不能按预期排序。 基于ICU Collat​​e演示站点,将语言环境设置为en_US_POSIX肯定符合我要查找的排序顺序(您必须编辑示例数据并添加一些下划线进行测试)。但是我真的没有看到如何在我的Linux shell中应用它。 理想情况下,我希望能够在我的bash配置中进行设置,以便ls始终首先对下划线进行排序。我将如何去做呢?
20 ls  sort  locale 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.