Apache -> Ruby locale?
Sziasztok, adott az alábbi kódom, ez kiírja hogy milyen karakter kódolással olvassa be alapértelmezetten a fájlokat a program:
File.read("/bin/ls").encoding.to_s
Ha Apache hívja meg az FCGI-s kódom, akkor mindig US-ASCII (vagyis C) locale van. Ha bárhonnét másholról futtatom a kódot, akkor UTF-8.
/etc/apache2/envvars fájlban van egy ilyen sor: export LANG=C - viszont ennek átírása nem segít (en_US.UTF-8 értékkel próbálkoztam, ez kellene).
Ruby-n belül tudok kódolást váltani, ezzel nem lenne gond. Csak van egy GEM modul ami külső fejlesztés és van benne egy olyan bug ami nem UTF8-as locale-ra elhasal. Kézzel tudom javítani, de nem szerencsés, mert egy update-nél vissza írhatja. Helyén akarom kezelni természetesen.
Egyéb ötlet? FastCGI opcióknál hogyan lehetne specifikálni, hogy a ruby kódomat utf8-as környezetben hajtsa meg? Egyébként az ENV változón üres az Apache futtatáskor, csak a PATH van benne, semmi más.
Kösz.
- Tovább (Apache -> Ruby locale?)
- 1071 megtekintés