我想生成一个目录中的文件列表。某些文件名包含中文字符。
例如:试验.Test.txt
我使用了以下代码:
require 'find'
dirs = ["TestDir"]
for dir in dirs
Find.find(dir) do |path|
if FileTest.directory?(path)
else
p path
end
end
end
运行该脚本将生成一个文件列表,但中文字符将被转义(替换为后面跟数字的反斜杠)。使用上面的示例文件名将产生以下结果:
"TestDir/\312
虽然下面的代码可以在桌面Linux和Windows上运行,但中文字符在嵌入式linux上显示为空白(yocto jethrow,Qt 5.5.1,X11上的Qt )。Qt似乎使用它自己的字体,而不是这个系统上的系统字体。注:在"Hello World“之后应该有中文的"nihao”。 main()的C++内容: QApplication a( argc, argv );
QString s = QString::fromUtf8("Hello world \u611b!");
QPushButton hello;
// eventually set font
我有一堆中文字符,比方说DB或XML文件。它们使用UTF-8编码存储在那里。现在,我需要在我的Java代码中获取这些信息。我使用DOM parser读取XML,并将中文字符存储在String literal中。它稍后会在JSP Page中显示,并在System out console中打印。它工作得很好。我不知道为什么?
根据我的理解,Java应该使用适当的编码(在本例中为UTF-8)来存储中文字符。但是,当我检查JVM使用的默认编码时,它不是UTF-8 or 16。这是一些Cp1522(不确定这是否是正确的,我记不起正确的值,对不起)。
所以它应该不能打印值,对吗?您能帮我了解一下为什么这样
我正在用lua编写一些小部件,以供conky用来显示一些东西。我达到了一个我想集中文字的点。在教程之后,我将C代码移植到lua代码中,现在如下所示:
local extents
local utf8 = "cairo"
local x, y
cairo_select_font_face(cr, "Ubuntu", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
cairo_set_font_size(cr, 13)
cairo_text_extents(cr, utf8, extents)
x = 128.0