Portál AbcLinuxu, 12. května 2025 06:45

Dotaz: rails new aplikace ( 7-bit ASCII) co s tím ?

6.7.2012 19:05 Aetos4
rails new aplikace ( 7-bit ASCII) co s tím ?
Přečteno: 276×
Odpovědět | Admin
Ahoj,

začínám s ruby a potřeboval bych poradit co mám dělat když po zadání příkazu "rails new aplikace", se mi sice vytvoří kostra programu, ale všechny soubory mají kódování 7-bit ASCII. Logicky potřebuji, aby měli utf-8.

Verze linuxu je Xubuntu 12.04. Defaultně příkazem touch se mi vytváří soubory s kódováníém utf8. Zkoušel jsem ruby několik verzí a rovněž jsem i zkoušel několik verzí rails a to vše jak přes balíčkovací systém, tak přes rvm.

Musí tam někde přeci být soubor s nastavením pro rails, který také určuje jaké kódování budou mít nově vytvořené soubory, si říkám. Jen nevím kde. A web jsem prohledal, ale nějak jsem tam nenašel nic co by mi pomohlo.

Nemá s tím někdo zkušenosti?

Děkuji za každou radu

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.7.2012 21:41 Aetos4
Rozbalit Rozbalit vše Re: rails new aplikace ( 7-bit ASCII) co s tím ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
upřesnění ..... příkaz rails new ... vytvoří soubory v ASCII 7-bit ( to je ještě v pořádku ), ale když přidám do souboru jakýkoliv znak s diakritikou, kódování se rozhodí a není na tom souboru už pak poznat jaké má vlastně kódování. A díky tomu ani nejde kódování u toho souboru převést. Pak spustím rake test a ten mi ohlásí chybu, že má soubor špatné kódování.
9.7.2012 21:11 Aetos4
Rozbalit Rozbalit vše Moje částečné řešení - funkční
Odpovědět | | Sbalit | Link | Blokovat | Admin
Napíšu sem alespoň, jak jsem to prozatím vyřešil - zda to je definitivní to nevím.

Na začátek každého souboru, kde se používá diakritika je nutné přidat

# coding:utf-8

a pak to prochází.

Ale nezdá se mi to jako optimální řešení.
Řešení 1× (Aetos4 (tazatel))
mess avatar 9.7.2012 21:38 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: Moje částečné řešení - funkční
Co vím, tak tohle nesouvisí s Rails. Vynucuje to samotné Ruby, které u každého zdrojového souboru potřebuje vědět, v jakém je kódování. Tohle chování zavedli ve verzi 1.9, předtím se kódování neřešilo a zdrojový text se bral jako posloupnost bytů. Mám dojem, že se to kódování dalo kdysi nastavit skrz nějakou globální proměnnou, ale tuhle možnost zavrhli (už cca 2 roky zpátky byla označená jako "deprecated").

Takže suma sumárum s tím nic nenaděláš a ten řádek # coding: utf-8 musíš dát do každého zdrojového souboru. A pokud to někde zapomeneš, tak s zaděláváš na nepříjemné komplikace. Ve firmě jsme si s tím kódováním užili spoustu legrace. Navíc, když si vezmeš, že Rails v té době používalo zásadně ASCII-7BIT a my potřebovali české znaky v řetězcích, tak si dokážeš představit, že jsme se museli za břicho popadat. :-)
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
mess avatar 9.7.2012 21:40 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: Moje částečné řešení - funkční
A ještě dodatek. Příkaz touch vytvoří prázdný soubor (nic v něm není - velikost 0B), tzn. je úplně irelevantní mluvit o nějakém kódování.
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
10.7.2012 15:00 Aetos4
Rozbalit Rozbalit vše Re: Moje částečné řešení - funkční
Díky moc za informace. Teď vím, že alespoň nemusím už nic dalšího hledat.

S tím touch jsem si to neuvědomil :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.