I have the following problem with outputting multilingual data to a file. I get (except for Korean) what I expect as result in the RGui, but when I use sink() to output to a text file loose the characters in the foreign languages. I post a small example below. Since I am not sure how well my email system as the list copes with all the different characters I have additionally created a pdf version of this example. The first part of the example behaves as I expect for all languages except Korean. I believe that the Korean language may be a problem with the font, it would be great if someone could confirm this? In the second part with output to the txt file I get the <U+FF71> type unicode as output not the expected characters. My main problem is how can I output the characters as I expect?
> RM_EN <- c("Alfalfa hay","Alfalfa meal","Alfalfa silage") > RM_DE <- c("Luzerneheu","Lurzernegrünmehl","Luzernesilage") > RM_RU <- c("Люцерновое сено","Люцерновая травяная мука","Люцерновый сенаж") > RM_CN <- c("苜蓿干草","苜蓿草粉","苜蓿青贮") > RM_JP <- c("アルファルファ乾草","アルファルファ ミール","アルファルファ サイレージ") > RM_KR <- c("알팔파 건초","알팔파 박","알팔파 사일리지") > > RMLANG <- data.frame(RM_EN,RM_DE,RM_RU,RM_CN,RM_JP,RM_KR) > nrm <- NROW(RMLANG) > > for(i in 1:nrm) + { + cat(format("English", width = 12, justify = c("left")), as.character(RMLANG$RM_EN[i]),"\n",sep="") + cat(format("Deutsch", width = 12, justify = c("left")), as.character(RMLANG$RM_DE[i]),"\n",sep="") + cat(format("Russian", width = 12, justify = c("left")), as.character(RMLANG$RM_RU[i]),"\n",sep="") + cat(format("Japanese", width = 12, justify = c("left")), as.character(RMLANG$RM_JP[i]),"\n",sep="") + cat(format("Chinese", width = 12, justify = c("left")), as.character(RMLANG$RM_CN[i]),"\n",sep="") + cat(format("Korean", width = 12, justify = c("left")), as.character(RMLANG$RM_KR[i]),"\n","\n","\n",sep="") + } English Alfalfa hay Deutsch Luzerneheu Russian Люцерновое сено Japanese アルファルファ乾草 Chinese 苜蓿干草 Korean 알팔파 건초 English Alfalfa meal Deutsch Lurzernegrünmehl Russian Люцерновая травяная мука Japanese アルファルファ ミール Chinese 苜蓿草粉 Korean 알팔파 박 English Alfalfa silage Deutsch Luzernesilage Russian Люцерновый сенаж Japanese アルファルファ サイレージ Chinese 苜蓿青贮 Korean 알팔파 사일리지 > for(i in 1:nrm) + { + sink("output.txt") + cat(format("English", width = 12, justify = c("left")), as.character(RMLANG$RM_EN[i]),"\n",sep="") + cat(format("Deutsch", width = 12, justify = c("left")), as.character(RMLANG$RM_DE[i]),"\n",sep="") + cat(format("Japanese", width = 12, justify = c("left")), as.character(RMLANG$RM_JP[i]),"\n",sep="") + cat(format("Chinese", width = 12, justify = c("left")), as.character(RMLANG$RM_CN[i]),"\n",sep="") + cat(format("Korean", width = 12, justify = c("left")), as.character(RMLANG$RM_KR[i]),"\n","\n","\n",sep="") + sink() + } > Output.txt contains: "" English Alfalfa hay Deutsch Luzerneheu Japanese <U+FF71><U+FF99><U+FF8C><U+FF67><U+FF99><U+FF8C><U+FF67><U+4E7 Chinese <U+82DC><U+84FF><U+5E72><U+8349> Korean <U+C54C><U+D314><U+D30C> <U+AC74><U+CD08> English Alfalfa meal Deutsch Lurzernegrünmehl Japanese <U+FF71><U+FF99><U+FF8C><U+FF67><U+FF99><U+FF8C><U+FF67> <U+FF Chinese <U+82DC><U+84FF><U+8349><U+7C89> Korean <U+C54C><U+D314><U+D30C> <U+BC15> English Alfalfa silage Deutsch Luzernesilage Japanese <U+FF71><U+FF99><U+FF8C><U+FF67><U+FF99><U+FF8C><U+FF67> <U+FF Chinese <U+82DC><U+84FF><U+9752><U+8D2E> Korean <U+C54C><U+D314><U+D30C> <U+C0AC><U+C77C><U+B9AC><U+C9C0> "" many thanks Mark Redshaw Mark Redshaw Animal Nutrition Services Evonik Degussa GmbH, HN-M-AN, Rodenbacher Chaussee 4, 63457 Hanau, Germany Tel: +49 61 81 59 6788 www.aminoacidsandmore.com
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.