Nechci text v notepadu ukládat v ANSI

Programy pro práci s textem, tabulkami, prezentacemi

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod rydlo 9. 3. 2019 07:50

Vyzkoušel jsem všechno, ale pokud neexistuje nějaké nastavení ve Win10, tak jako nejpohodlnější se mi osvědčuje to mé primitivní a jednoduché řešení:
rydlo píše:- podíval jsem se kde se vlastně notepad spouští - je to v C:\Windows\System32\notepad.exe
- otevřel jsem notepad a před uložením jsem dal uložit s kodováním Unicode
- prázdný notepad.txt jsem uložil do C:\Windows\System32
- na hlavním panelu mám zástupce notepadu, odkud ho vždy otvírám. Šel jsem na jeho vlastnosti a změnil jsem cestu (Cíl) z %windir%\system32\notepad.exe na %windir%\system32\notepad.txt
- teď už kódování před uložením nezapomenu, ale pokud bych něco v otevřeném texťáku "Uložil" a ne "Uložil jako" (někam jinam než do system32\notepad.exe) tak si ten prázdný texťák přepíšu. To ale nevadí, vždycky ho mohu změnit na prázdný a otvírat notepad.txt místo notepad.exe

To množství již dříve uložených *.txt v ANSI hromadně na Unicode nepřekóduji, s tím se musím smířit.
rydlo
Junior
Uživatelský avatar

Odeslat příspěvekod soban 9. 3. 2019 08:49

rydlo píše:Vyzkoušel jsem všechno, ale pokud neexistuje nějaké nastavení ve Win10, tak jako nejpohodlnější se mi osvědčuje to mé primitivní a jednoduché řešení:


Fakt človek žasne jak složitě jde něco dělat, není jednoduší používat SW který pracuje v UTF-8 případně se do UTF-8 dá jednoduše přepnout.

Tvůj postup se mi zdá jako když se chceš pravou rukou drbat za levým uchem, ale je to tvůj boj.....


rydlo píše:To množství již dříve uložených *.txt v ANSI hromadně na Unicode nepřekóduji, s tím se musím smířit.


Panebože proč?

Existuje hromada programů co dokáží převést text z jednoho kodóvání do druhého.

A pokud nic nenajdeš není problém si napsat vlastní program aby četl jeden soubor a do druhého zapisoval....a těch 256 znaků ANSI přepsal do UTF-8.
/----------------------------------------\
| Petr Šobáň |
| Olomouc |
\----------------------------------------/
soban
Pokročilý

Odeslat příspěvekod rydlo 9. 3. 2019 16:07

soban - Ty jó .. já junior, ty pokročilý. Ty programy se mi vůbec nelíbí a určitě (kdybych to uměl) by se mi můj vlastní také nelíbil.
... já junior, ty pokročilý dej mi teda nějaký polopatický postup, já junior rád vyzkouším. Jinak jsem úplně blbej.
rydlo
Junior
Uživatelský avatar

Odeslat příspěvekod soban 9. 3. 2019 18:18

Například v linuxu program iconv viz man iconv napíšu si skriptík a ten mi převede všechny *.txt soubory .....

Pro windows viz: ICONV for Windows

Případně můžeš knihovnu iconv použít ve svém programu:

Ukazka funkce převodu
Kód: Vybrat vše
/* převod kodování */
#ifdef _PREKLAD_
char convStr[DELKA_POZNAMKY];

char * UTF8toWindows (char * from)
{
    char *p1, *p2;
    iconv_t i;
    size_t fromlen, tolen;
    size_t iconv_value;


    errno=0;
   
    if (strlen(from) > DELKA_POZNAMKY) {
   perror("ICONV: Poznámka je moc dlouhá.");
        exit(errno);
    }


    memset(convStr,0,sizeof(convStr));
    tolen = fromlen = strlen(from);
    p1 = (char *)from;
    p2 = (char *)convStr;

    i = iconv_open("WINDOWS-1250", "UTF-8");
    if (i == (iconv_t) -1) {
        if (errno == EINVAL)
     perror("ICONV: Nepodporuji převod z UTF-8 do CP1250.");
   else
     perror("ICONV: Chyba převodu kodování.");
          exit(errno);

    }



    /* Převod */
    /* iconv_value = iconv(i, (const char **)&p1, &fromlen, &p2, &tolen); */
    iconv_value = iconv(i, &p1, &fromlen, &p2, &tolen);
    if (iconv_value == (size_t) -1) {
        perror ("ICONV: Převod kodování se nepovedl.");
   exit(errno);
    }
    iconv_close(i);
    return(convStr);
}
#endif


A na editor už jsi tipy taky dostal - je to tvůj boj a používej co chceš je to tvoje volba......
/----------------------------------------\
| Petr Šobáň |
| Olomouc |
\----------------------------------------/
soban
Pokročilý

Předchozí stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků