Lokalizace podle Micro$oftu --> Re: Kvízové soubory

Jindrich Fucik fulda na seznam.cz
Sobota Únor 25 11:10:53 CET 2023


Málo jsi gúglil.

Micro$oft uznává dva "standardy", které ti mohou pomoci.

1) oddělovače. Jak z názvy vyplývá, CSV je definováno v RFC 4180 jako 
foubor, kde jsou sloupce oddělené čárkou, řádky oddělené CRLF eskejpuje 
se ... https://datatracker.ietf.org/doc/html/rfc4180
Tato definice pochopitelně nemůže zastavit programátora v jeho 
kreativním rozletu. Proto excel používá různé oddělovače podle lokálního 
nastavení. Například proto, aby nekolidoval oddělovač sloupců s 
oddělovačem desetin (ně že by to RFC nedefinovalo). Proto v excelovském 
podání CSV může existovat jeden magický řádek na začátku souboru, který 
definuje oddělovače. Stačí, když na první řádku napíšeš "sep=," a pak je 
oddělovač sloupců čárka. Pochopitelně to tak funguje jen v excelu. Ale 
inteligence u uživatelů excelu a u uživatelů LO je jiná, takže uživatelé 
LO ten první řádek dokáží smazat, zatímco uživatelé excelu tu proceduru 
nedokáží pochopit.
https://superuser.com/questions/606272/how-to-get-excel-to-interpret-the-comma-as-a-default-delimiter-in-csv-files#686415

Pochopitelně můžeš použít power query a nebo si změnit oddělovač 
sloupečků (list separator v jazyce M$) individuálně, aby to už nikdy 
nikdo nepřečetl:
https://support.microsoft.com/en-us/office/import-or-export-text-txt-or-csv-files-5250ac4c-663c-47ce-937b-339e391393ba


2) znaková sada. Tady Micro$oft mírně znásilnil BOM (Byte Order Mark). 
Nicméně při použití "normálního" FEFF to docela zafunguje.
https://en.wikipedia.org/wiki/Byte_order_mark
Pokud se v tom chceš trochu více hrabat, tak ti doporučuji použít 
windowsovej notepad, napsat si konstantní text na různé verzi a pak si 
dát File -> Save As -> a v pravém spodním rohu před tlačítkem [Save] je 
přepínání znakové sady. Vzniklý soubor pak otevři hex editorem, kterej 
ti ukáže první 4 neviditelné znaky. Můžeš se pak přidat k bojovníkům s 
ANSI BOM podle Micro$oftu.
https://learn.microsoft.com/en-us/globalization/encoding/byte-order-mark

Dne 25.02.2023 v 10:20 Pavel Hudeček napsal(a):
> S tím Excelem je to vtipný. Nikdy by mě nenapadlo, že MS produkt bude 
> fungovat složitějc než open source. Když v Libre Office otevřu CSV, 
> zeptá se na oddělovače všeho možného, ukáže při tom náhled. A ze 
> spoštěného LO můžu dát soubor/otevřít, nebo možná import, nebo něco 
> takového normálního, vždycky pak stejný průběh.
> Excel to jen nějak otevře a nazdar. Když chci import s nastavením, musel 
> jsem se podívat na stránky MS, kterou funkci na které záložce použít, 
> pak už to bylo jako v LO.
> 
> Takže jsem tam udělal:
> 
> if separatorsCzEn:
>      separator1000  = ","
>      separatorItems = "; "
> else:
>      separator1000  = "."
>      separatorItems = ", "
> 
> A pak je tam:
> 
> print(... str(devInfo["SensorThickness"]).ljust(4, ' '), "µm", ...)
> 
> Tohle sice všude funguje, ale na EN vypisuje nesmyslnej znak.
> To jako američani nepoužívaj mikro?
> 
> No a pak bylo to s file.write. Evidentně používá jinou konverzní funkci 
> než print, takže rovnou umře:-)
> 
> PH
> 
> Dne 25.02.2023 v 1:38 Miroslav Šinko napsal(a):
>> hups. pred par dnami tu boli ponosy na spracovanie diakritiky
>> po uplynutych 23% z 21. storocia
>>
>> aby som len nerypal. vlastna skusenost: pracovne robime pre UK trh. 
>> vsetci mame v praci EN Win10. admini nam instaluju oracle clientov, my 
>> vacsinovo vyuzivame len ODBC driver, neriesime jazykovu verziu. nam 
>> funguje vzdy vsetko. ale obcas sa stane, ze vyexportujeme DB, v UK si 
>> ju naimportuju a maju "zmrsene" znaky libry, dlheho irskeho A, apod... 
>> aj v 23% 21. storocia :(
>>
>> miro
>>
>> On 24.2.2023 16:54, Pavel Hudeček wrote:
>>> Bingo
>>> Alt+0160 nedělitená mezera
>>>
>>> Co tomu předcházelo: Dělal jsem Py script na vytahání nějakých 
>>> statistik z HDF5 souborů za posledních X let. Vyrobilo to CSV pro 
>>> import do excelu a pak TXT soubory se seznamy souborů, u kterých 
>>> nastala chyba a nakonec i seznam bezchybných.
>>>
>>> První problém: Musel jsem udělat nastavení, zda dělat CSV pro excel 
>>> na CZ počítači a na EN:-)
>> >
>> > No a pak to spustil kolega na EN počítači a script umřel na tom, když
>> > sděloval, že úspěšně zpracoval nějakej fajl s diakritickým názvem
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list