Articles of 语言环境

如何检查一个语言环境是否是UTF-8?

我正在与Yocto合作为ARM设备(i.MX 6Quad Processors)创buildembedded式Linux发行版。 我已经用variablesconfiguration了所需语言环境的列表: IMAGE_LINGUAS = "de-de fr-fr en-gb en-gb.iso-8859-1 en-us en-us.iso-8859-1 zh-cn" 因此,我已经获得了包含以下文件夹的文件系统: root@lam_icu:/usr/lib/locale# cd /usr/share/locale/ root@lam_icu:/usr/share/locale# ls -la total 0 drwxr-xr-x 6 root root 416 Nov 17 2016 . drwxr-xr-x 30 root root 2056 Nov 17 2016 .. drwxr-xr-x 4 root root 296 Nov 17 2016 de drwxr-xr-x 3 root root 232 Nov […]

写入文件时的UnicodeEncodeError

我有一个python脚本,在我的本地机器(OS X)上效果很好,但是当我将它复制到服务器(Debian)时,它不能按预期工作。 该脚本读取一个xml文件并以新格式打印内容。 在我的本地机器上,我可以使用stdout将脚本运行到terminal或文件(即> myFile.txt ),两者都可以正常工作。 然而,在服务器上( ssh ),当我打印到terminal一切正常,但打印到文件(这是我真正需要)给UnicodeEncodeError: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) 。 所有的文件都是utf-8编码,并且在魔术评论中声明了utf-8。 如果我在列表中打印str对象(这是我通常用来获取编码问题的一个技巧),它也会引发同样的错误。 如果使用print( x.encode('utf-8') ) ,那么它会打印代码样式的位(例如b'1' b'\xd0\x9a\xd0\xb0\xd0\xbc\xd0\xb0' ) 。 如果我在shell中$ export PYTHONIOENCODING=utf-8 (如某些SOpost中所build议的),那么我得到一个二进制文件: 1 <D0><9A><D0><B0><D0><BC><D0><B0> 。 我已经检查了所有的localevariables,并且相关的variables与我在本地机器上的variables相匹配。 我可以简单地在本地处理文件并上传,但我真的很想了解这里发生的事情。 由于Python代码在一台计算机上工作,我不确定它是相关的,但我在下面添加它: # -*- encoding: utf-8 -*- import sys, xml.etree.ElementTree as ET corpus = ET.parse('file.xml') […]

Locale.getDefault()总是返回en

unix机器上的服务器总是使用en作为默认语言环境。 以下是区域设置输出 LANG=en_US LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_ALL=C 我只是不明白,如果LANG设置正确,那么为什么服务器以en语言环境启动。

Linux / Python:编码用于打印的unicodestring

我有一个相当大的Python 2.6应用程序,大量的打印语句洒了。 我在整个使用Unicodestring,它通常很好。 但是,如果我redirect的应用程序的输出(如“myapp.py> output.txt”),那么我偶尔会得到这样的错误: UnicodeEncodeError: 'ascii' codec can't encode character u'\xa1' in position 0: ordinal not in range(128) 我想如果有人把LOCALE设置为ASCII,也会出现同样的问题。 现在,我完全理解这个错误的原因。 在我的Unicodestring中有不能用ASCII编码的字符。 很公平。 但是我希望我的python程序尽最大努力去打印可以理解的东西,可能是跳过可疑字符或用Unicode标识replace它们。 这个问题一定是常见的…处理这个问题的最佳做法是什么? 我更喜欢一个解决scheme,让我继续使用普通的“打印”,但我可以修改所有事件,如果有必要。 PS:我现在已经解决了这个问题。 解决scheme既不是给出的答案。 我使用了http://wiki.python.org/moin/PrintFails中给出的方法,由ChrisJ在其中一个注释中给出。 也就是说,我用一个包含正确参数的unicode编码的包装来replacesys.stdout。 工作得很好。

UNIXsorting忽略空格

这是一个简单的问题。 给定一个文件txt : ab ac aa 当调用sort txt ,我得到: aa ab ac 换句话说,这是不正确的sorting,这种删除/忽略空格! 我期望这是sort -i的行为,但它发生有或没有-i标志。 我想获得“正确的”sorting: aa ac ab 我该怎么做?

R,Rstudio控制台编码Windows

我有一种方法来改变Rstudio在Windows上的控制台编码? 这不是读取特定编码中的文件或采购脚本,而是关于更改控制台编码(编码Sys.getlocale产量)。 这通常不是一个大问题,但我尝试创build一个包,并在一些string和符号中使用德语变音符号。 roxygen2最适合UTF-8编码,但如果源文件不在控制台/系统编码中,则covr会发出错误。 (如果有对roxygen2和covr问题的解决方法,这也将有所帮助。添加信息:我从控制台调用covr::package_coverage ,并通过Rstudios Build命令调用roxygen2 。 和sessioninfo: sessionInfo() # R version 3.4.2 (2017-09-28) # Platform: x86_64-w64-mingw32/x64 (64-bit) # Running under: Windows >= 8 x64 (build 9200) # # Matrix products: default # # locale: # [1] LC_COLLATE=German_Austria.1252 LC_CTYPE=German_Austria.1252 LC_MONETARY=German_Austria.1252 LC_NUMERIC=C LC_TIME=German_Austria.1252 更新:通过Rstudio中的文件find产生错误的函数,使用devtools::load_all(".")加载,RStudio gui给出错误/错误的编码。

为什么不是QString :: localeAwareCompare()正常工作

一位芬兰客户告诉我,芬兰语的正确sorting(locale aware)是:az,å,ä,ö。 但是QString :: localeAwareCompare()在Windows Vista的Qt 4.4.2中将它返回为:a,ä,å,bo,ö,pz。 #include <qapplication.h> #include <qlocale.h> #include <iostream> #include <tchar.h> int main( int argc, char* argv[] ) { QLocale::setDefault ( QLocale( QLocale::Finnish ) ); QApplication app( argc, argv ); QString s1 = "a"; QString s2 = "ä"; QString s3 = "å"; QString s4 = "b"; QString s5 = "o"; QString […]

如何在Windows控制台中设置LOCALE

我需要为单个控制台设置区域设置。 我想构buildApache Wicket框架(基于Maven的构build),但它依靠en_US语言环境testing失败。 我不想跳过testing。 我不想跳过特定的失败testing。 可能吗? 或者正在改变系统范围的语言环境? 谢谢

Java 7默认语言环境

我刚刚安装了jre7,我很惊讶地发现我的默认语言环境现在是en_US。 用jre6它是de_CH。 与jre7有什么不同? 缺省语言环境不再是操作系统的一个吗? (顺便说一下,我使用Windows7) Thx为您的答案。 编辑:我已经看到Category.FORMAT的语言环境是“旧”(de_CH)。 Category.DISPLAY的语言环境采用操作系统语言的语言(在Windows中,这在控制面板>区域和语言>键盘和语言>显示语言中完成)以及来自…的条件? 看起来不同的是“ user.country ”属性。 随着Java6我得到“CH”和Java7我得到“美国”。

常见的Windows编译器上有哪些std :: locale名称可用?

标准对于什么是有效的语言环境名称几乎没有任何规定; 只有通过一个无效的区域设置名称导致std::runtime_error 。 常见的Windows编译器(如MSVC,MinGW和ICC)上可以使用哪些语言环境名称?