Articles of UTF 8

Unicode / UTF-8文本文件:在Windows控制台上乱码(尝试显示希伯来语)

我有一个宽的字符文件(用希伯来语文本),在记事本中看起来很好(保存在“UTF-8编码”),在Notepad ++中可以正常读取,当我复制并粘贴到MS Word中时,它看起来也不错。 但是,当我打开一个“DOS框”(Windows控制台),并去:“键入file.txt”,它打印乱码。 是的,我已经在Windows控制台上完成了对Unicode的所有build议:我使用“cmd / u”打开控制台,将字体更改为Lucida,并input:“chcp 65001”。 在运行Windows 7的PC上以及在运行Windows XP SP3的另一台PC上,问题是一样的。

Java,UTF-8和Windows控制台

我们尝试在Windows上使用Java和UTF-8。 应用程序将日志写入控制台,并且我们希望使用UTF-8作为日志,因为我们的应用程序具有国际化日志。 可以使用-Dfile.encoding=UTF-8作为JVM的参数来configurationJVM,使其生成UTF-8。 它工作正常,但在Windows控制台上的输出是乱码。 然后,我们可以将控制台的代码页设置为65001( chcp 65001 ),但在这种情况下, .bat文件不起作用。 这意味着,当我们尝试通过我们的脚本(名为start.bat)启动我们的应用程序时,绝对没有任何反应。 该命令简单的返回: C:\Application> chcp 65001 Activated code page: 65001 C:\Application> start.bat C:\Application> 但没有chcp 65001 ,没有问题,应用程序可以启动。 有关于此的任何提示?

希腊字母在Windows Concole

我正在用C写一个程序,当我在cmd.exe中运行它时,我希望在菜单中有希腊字符。 有人说,为了包含希腊字符,你必须使用一个printf ,像这样: printf(charset:IS0-1089:uffe); 但他们不确定。 有谁知道这是怎么做到的吗?

Windows中的UTF-8

如何在C Windows程序中将代码页设置为UTF-8? 我有一个使用fopen打开文件的第三方库。 我可以使用wcstombs将我的Unicode文件名转换为当前代码页,但是如果用户在代码页之外具有一个字符的文件名,则会中断。 理想情况下,我只是调用_setmbcp(65001)将代码页设置为UTF-8,但是_setmbcp的MSDN文档声明不支持UTF-8。 我怎样才能解决这个问题?

如何在C ++中使用UTF-8编码的string写入Windows中的文件

我有一个string,可能或不可能有unicode字符,我试图写在Windows上的文件。 下面我已经发布了一些代码示例,我的问题是当我打开并读取窗口的值时,它们都被解释为UTF-16字符。 char* x = "Fool"; FILE* outFile = fopen( "Serialize.pef", "w+,ccs=UTF-8"); fwrite(x,strlen(x),1,outFile); fclose(outFile); char buffer[12]; buffer[11]=NULL; outFile = fopen( "Serialize.pef", "r,ccs=UTF-8"); fread(buffer,1,12,outFile); fclose(outFile); 这些字符也被解释为UTF-16,如果我在打字机等打开文件。我做错了什么?

java控制台输出的默认字符编码

Java如何确定用于System.out的编码? 鉴于以下课程: import java.io.File; import java.io.PrintWriter; public class Foo { public static void main(String[] args) throws Exception { String s = "xxäñxx"; System.out.println(s); PrintWriter out = new PrintWriter(new File("test.txt"), "UTF-8"); out.println(s); out.close(); } } 它被保存为UTF-8,并在Windows系统上使用javac -encoding UTF-8 Foo.java进行编译。 之后在git-bash控制台(使用UTF-8字符集)我做: $ java Foo xxõ±xx $ java -Dfile.encoding=UTF-8 Foo xx├ñ├▒xx $ cat test.txt xxäñxx $ java Foo […]

R,Windows和外语字符

R一直是一个长期存在的问题: 它可以在Unix上读取非拉丁字符,但是我无法在Windows上读取它们 。 多年来,我已经在几个英文版的Windows机器上复制了这个程序。 我试着改变Windows中的本地化设置和许多其他的无效。 有没有人真的能够读取Windows上的外文文件? 我认为能够读/写/显示unicode是一个程序非常漂亮的function。 环境: > Sys.getlocale() [1]“LC_COLLATE = English_United States.1252; LC_CTYPE = English_United States.1252; LC_MONETARY = English_United States.1252; LC_NUMERIC = C; LC_TIME = English_United States.1252” 问题可以复制如下: 在文本编辑器中用俄语或阿拉伯语等语言创build简单的文件,并将其保存为UTF-8,不带BOM。 > test_df <- read.table("test2.txt",header=FALSE, sep=";", quote="",fill=FALSE, encoding="UTF-8",comment.char="",dec=",") ……Warning message: ……In read.table("test2.txt", header = FALSE, sep = ";", quote = "", : ……incomplete final line […]

如何逐行阅读unicode(utf-8)/二进制文件

嗨程序员, 我想逐行读一个由记事本创build的Unicode(UTF-8)文本文件,我不想在屏幕上显示Unicodestring,我只想读取和比较string! 此代码逐行读取ANSI文件,并比较string 我想要的是 逐行阅读test_ansi.txt 如果该行=“b”打印“YES!” 否则打印“不! read_ansi_line_by_line.c #include <stdio.h> int main() { char *inname = "test_ansi.txt"; FILE *infile; char line_buffer[BUFSIZ]; /* BUFSIZ is defined if you include stdio.h */ char line_number; infile = fopen(inname, "r"); if (!infile) { printf("\nfile '%s' not found\n", inname); return 0; } printf("\n%s\n\n", inname); line_number = 0; while (fgets(line_buffer, sizeof(line_buffer), […]

如何在Perl中编写一个* filename *包含utf8字符的文件?

我正在努力创build一个包含非ASCII字符的文件。 如果以0作为参数调用下面的脚本,但使用1调用时会死亡。 错误消息已打开:C:\ temp \ filename.pl第15行中的参数无效。 该脚本在cmd.exe启动。 我期望它写一个文件的名字是(取决于参数) äöü.txt或äöü☺.txt 。 但我无法创build包含笑脸的文件名。 use warnings; use strict; use Encode 'encode'; # Text is stored in utf8 within *this* file. use utf8; my $with_smiley = $ARGV[0]; my $filename = 'äöü' . ($with_smiley ? '☺' : '' ). '.txt'; open (my $fh, '>', encode('cp1252', $filename)) or die "open: $!"; […]

无法将unicode .csv读取到R中

我有一个.csv文件,其中包含以下数据: "Ա","Բ" 1,10 2,20 我不能读入R,这样列名就像它们在文件中一样显示。 d <- read.csv("./Data/1.csv", fileEncoding="UTF-8") head(d) 产生以下内容: > d <- read.csv("./Data/1.csv", fileEncoding="UTF-8") Warning messages: 1: In read.table(file = file, header = header, sep = sep, quote = quote, : invalid input found on input connection './Data/1.csv' 2: In read.table(file = file, header = header, sep = sep, quote = quote, : […]