[R-SIG-Mac] Wrong locale when using R from shell
Erich Studerus
erich.studerus at bli.uzh.ch
Tue Mar 23 01:38:54 CET 2010
Thank you very much! Replacing "R" with "LANG=de_CH.UTF-8 R" in the Lyx
preference file indeed solved my problem.
On Mon, 22 Mar 2010 19:15:51 -0400
Simon Urbanek <simon.urbanek at r-project.org> wrote:
>
> On Mar 22, 2010, at 6:06 PM, Erich Studerus wrote:
>
>> I typed "export" into the mac terminal to see the setup of my system
>>variables. Under language I get LANG="de_CH.UTF-8". So it seems my system
>>variable for language is set up correctly.
>>
>
> Nope ;). I assume you're looking in Terminal which sets the LANG variable
>according to its preferences - it is NOT set by the shell.
>
>
>> It doesn't make sense that Lyx would force C locale, although I don't know
>>where I can check this. I'm using the regular Lyx/Sweave setup described
>>here:
>> http://wiki.lyx.org/LyX/LyxWithRThroughSweave
>>
>> I dont have this locale problem on my Windows 7 computer. I don't
>>understand, why R can dectect the correct locale when started from the
>>terminal or as R.app but not from the shell. How do these running modes
>>differently look up environmental variables?
>>
>
> Both of them set LANG explicitly - it's that easy. Apparently LyX doesn't.
>Again, you're barking up the wrong tree - it's not R's fault since R gives
>you what you ask for - namely the C locale. If LyX uses a shell to run R,
>it should be as easy as replacing "R" with "LANG=en_US.UTF-8 R" or
>whichever you prefer. I don't use LyX so I don't know what where exactly
>you have to change it. Note that the locale is NOT changed in the
>system-wide startup scripts (by default).
>
> Cheers,
> Simon
>
>
>
>
>
>> Regards,
>> Erich
>>
>> On Mon, 22 Mar 2010 17:09:21 -0400
>> Simon Urbanek <simon.urbanek at r-project.org> wrote:
>>> On Mar 22, 2010, at 16:32 , Erich Studerus wrote:
>>>> Hello
>>>>
>>>> I'm using Lyx with Sweave on Mac OS X 10.5.8 with R version 2.10.1. When
>>>>I compile Lyx documents, R is called from shell to process R code chunks
>>>>contained in the Lyx document. Unfortunately, R does not automatically
>>>>detect the correct locale when called from shell. I figured out that R
>>>>uses the C locale in shell mode by embedding the following code in Lyx
>>>>
>>>> <<echo=F>>=
>>>> sys.getlocale()
>>>> @
>>>>
>>>> When I start R from the terminal and also in the R.app I get the correct
>>>>locale:
>>>> de_CH.UTF-8/de_CH.UTF-8/C/C/de_CH.UTF-8/de_UTF-8
>>>>
>>>> How I can I get the correct locale when calling R from shell?
>>>>
>>> Setup your environment accordingly? This has nothing to do with R but your
>>>environment (LANG, LANGUAGE, LC_xxx) - which is what determines the
>>>locale. The default locale settings are system-dependent, so either your
>>>system default locale is C or Lyx forces C locale for the shell it starts.
>>>For details on locale specifications see, e.g.:
>>> http://www.gnu.org/software/hello/manual/gettext/Locale-Environment-Variables.html#Locale-Environment-Variables
>>> http://opengroup.org/onlinepubs/007908799/xbd/envvar.html
>>> Cheers,
>>> Simon
>>>
>>
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>
>>
>
More information about the R-SIG-Mac
mailing list