Quando si esegue R all'interno di Apache, le impostazioni locali vengono ereditate dal server Web Apache e pertanto Sys.getlocale()
è sempre uguale a "C"
. Vorrei che la mia applicazione web per utilizzare UTF8
, per cui uso:Impostare le impostazioni internazionali sul sistema predefinito UTF-8
Sys.setlocale("LC_ALL", 'en_US.UTF-8')
Tuttavia questo non funziona su computer che non dispongono di questo locale a disposizione:
1: Setting LC_CTYPE failed, using "C"
2: Setting LC_COLLATE failed, using "C"
3: Setting LC_TIME failed, using "C"
4: Setting LC_MESSAGES failed, using "C"
5: Setting LC_MONETARY failed, using “C”
C'è un modo per utilizzare Sys.setlocale
per impostare le impostazioni internazionali sul valore predefinito del sistema UTF-8
? Cioè qualcosa che potrebbe funzionare anche su Windows o un Linux tedesco?
Avete considerato di impostare la codifica su "UTF-8" su qualsiasi letture dall'esterno? –
Non sono sicuro di cosa intendi – Jeroen
Stavo ricordando male qualcosa che ho letto all'inizio di questa settimana su rdev. Forse uno di questi aiuterà: http://stackoverflow.com/questions/9387910/losing-locale-when-running-fcgi-script http://stackoverflow.com/questions/17985201/encoding-is-not-proper- when-query-from-apache-php/18079287 # 18079287 http://stackoverflow.com/questions/5674519/why-php-developers-cant-provide-setlocale-function-as-per-thread-scope –