[R] write.csv covert Åland to <c5>land
Jinsong Zhao
j@zh@o @end|ng |rom ye@h@net
Tue Oct 20 16:31:40 CEST 2020
Thank you very much for the hint. I tried it on a FreeBSD machine with
locale set to en_US.UTF-8, it works fine.
However, on my Windows machine,
> Sys.getlocale()
[1] "LC_COLLATE=Chinese (Simplified)_China.936;LC_CTYPE=Chinese
(Simplified)_China.936;LC_MONETARY=Chinese
(Simplified)_China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_China.936"
It just worked as what I posted.
BTW, I can not understand why a string could be displayed different as
vector or as data frame.
Best,
Jinsong
On 2020/10/20 21:56, John Kane wrote:
> It looks like an encoding problem.
>
> It works fine for me with R encoding set to UTF-8
>
> Here is part of my sessionInfo() results
> [1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C
> [3] LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8
> [5] LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8
>
> I would suggest issuing the command
> sessionInfo()
> and seeing what your encoding is.
>
>
>
> On Tue, 20 Oct 2020 at 08:22, Jinsong Zhao <jszhao using yeah.net
> <mailto:jszhao using yeah.net>> wrote:
>
> Hi there,
>
> Why the same string is displayed in different form?
>
> > abc[,1]
> [1] "Åland" "Afghanistan"
> > abc
> name
> 1 <c5>land
> 2 Afghanistan
>
> And more...
>
> > dput(abc, "aa.txt")
> > dget("aa.txt")
> name
> 1 <c5>land
> 2 Afghanistan
> > dget("aa.txt")[,1]
> [1] "<c5>land" "Afghanistan"
>
> Best,
> Jinsong
>
> On 2020/10/20 17:13, Jinsong Zhao wrote:
> > Hi there,
> >
> > I tried to export the names of country to a csv file with
> write.csv().
> > In the resulted file, Åland was coverted to <c5>land. Is there
> any way
> > could prevent this happening? Thanks!
> >
> > > abc
> > [1] "Åland"
> > > write.table(abc, file = "")
> > "x"
> > "1" "<c5>land"
> >
> > Best,
> > Jinsong
> >
> --
> John Kane
> Kingston ON Canada
More information about the R-help
mailing list