Diakritika v cestách souborů

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Diakritika v cestách souborů

Zvolené téma obsahuje celkem 9 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel  vitschlesinger a poslední změna je stará 3 roky, 4 měsíce.

Aktuálně je na stránce zobrazeno 10 příspěvků - 1. až 10. (z celkem 10)
  • Autor
    Příspěvky
  • #24781

    vitschlesinger
    Participant

    Ahoj,

    mám problém, který řeším už dva dny a rady zdatných kamarádů programátorů apod. nefungují – obracím se proto sem.

    Vpodstatě mám stejný problém jako kolega zde:

    Nelze stáhnout jakékoliv soubory, které mají v názvu diakritiku viz. např. tento soubor: http://skolasd.eu/wp-content/uploads/2014/04/2.Slovní-zásoba.notebook
    Soubory bez diakritiky lze stáhnout bez problému.

    Celou databázi jsem převedl do UTF8 s utf8_czech_ci řazením. Nic nepomáhá.

    Je však divné, že údaje (odkazy) v databázi se uchovávají normálně s diakritikou, pokud si je však hodím do schránky, vypadají rozsypaně viz: http://skolasd.eu/wp-content/uploads/2014/04/2.Slovn%C3%AD-z%C3%A1soba.notebook a je pak jasné, že takový soubor na FTP neexistuje.

    Dokážete mi někdo poradit – řešil někdo z vás tento problém? :)

    #24783

    admin
    Keymaster
    Web

    Ano, existují pluginy, které při nahrávání zlikvidují diakritiku, např. Clean Image Filenames.

    Ale obecně by s tím WordPress neměl mát žádný problém, zkoušel jsem to i na tomto webu. Příkladem byl obrázek s názvem “Žluťoučký-kůň.jpg”, kde se vyskytuje snad veškerá možná česká diakritika. A funguje to zcela bez problémů:

    https://www.separatista.net/wp-content/uploads/2013/01/Žluťoučký-kůň.jpg

    Změnou znaků při kopírování se zabývat nemusíte, to je normální chování při překladu diakritiky do URL podoby (neumožňuje diakritiku):

    https://www.separatista.net/wp-content/uploads/2013/01/%C5%BDlu%C5%A5ou%C4%8Dk%C3%BD-k%C5%AF%C5%88.jpg

    Bez problémů ale fungují obě varianty, můžete vyzkoušet… Nebo, že by to rozbil nejnovější WordPress 4.3.1 (zatím ho tu nemám)?

    #24784

    admin
    Keymaster
    Web

    Ale když o tom ještě přemýšlím, tak jak se vám vlastně podařilo nahrát soubor s koncovkou .notebook do Knihovny médií? Nemělo by být nahrávání tohoto souboru ve výchozím nastavení zakázáno?

    #24787

    vitschlesinger
    Participant

    Co se týče nahrávání jiných souborů na web, musí se přidat speciální funkce do functions.php:

    add_filter('upload_mimes', 'custom_upload_mimes');
    function custom_upload_mimes ( $existing_mimes=array() ) {
    // add your extension to the array
        $existing_mimes['notebook'] = 'application/notebook';
    // add as many as you like
    // removing existing file types
    //   unset( $existing_mimes['exe'] );
    // add as many as you like
    // and return the new full result
        return $existing_mimes;
    }

    Ano, tento problém, co popisuji se objevil až po aktializaci na novou verzi WP, čili 4.3.1. Nevím tak, jestli je to problém wordpressu nebo nějaké chyby v databázi? Už mě nenapadá žádné řešení …

    #24788

    vitschlesinger
    Participant

    Nezáleží ale na tom jakou příponu má server. Ať je to .doc, .pdf nebo .notebook, je to jedno.

    Je zde zajímavost, že v databázi jsou data uložena takto:

    (573, 3, '2014-04-27 21:10:11', '2014-04-27 20:10:11', '', '27.Nápoje', '', 'inherit', 'open', 'open', '', '27-napoje', '', '', '2014-04-27 21:10:11', '2014-04-27 20:10:11', '', 546, 'http://skolasd.eu/wp-content/uploads/2014/04/27.Nápoje.notebook', 0, 'attachment', 'application/notebook', 0),

    Všimněte si té URL, která je naprosto vpořádku. Na webu se odkaz taky tváří vpořádku viz. obrázek a dole vlevo náhled odkazu. Pokud na odkaz kliknu, zobrazí se 404, viz. druhý obrázek.

    Proč se tedy odkaz tváří vpořádku ikdyž není? Proč odkaz není vpořádku, když je v databázi zapsán správně?

    #24791

    admin
    Keymaster
    Web

    Tak verzí WordPressu to nebude, zkoušel jsem nyní nahrát obrázek na web s verzí 4.2.5 a potom aktualizovat na 4.3.1 a funguje to bez problémů všude. A pokud používáte filtr upload_mimes, tak to bude asi také v pořádku. Databáze mi přijde také v pořádku, uložený název je včetně diakritiky, WordPress se o to umí postarat…

    Můžete zkusit stáhnout obrázek “Žluťoučký-kůň.jpg” (odkazovaný výše), nahrát ho do Knihovny médií a podívat se zda funguje?

    Nepoužíváte nějaký plugin, který by mohl s nahráváním či správou souborů souviset? Zkoušel jste odpojit všechny pluginy a aktivovat výchozí šablonu Twenty Fifteen? Nefungují pouze dříve nahrané soubory nebo i soubory, které nahrajete dnes?

    Patrně používáte Wedos, máte v souboru .htaccess správně definovaná jeho pravidla? Chyba 404 odkazuje na adresářovou strukturu obsahující /domains/skolasd.eu/. A tato chyba je dost podivná, protože pokud na serveru nějaký soubor není, tak by se měla zobrazovat definovaná stránka pro chybu 404 přímo z šablony (a nikoli bílá stránka s chybou). Příklad:

    https://www.separatista.net/wp-content/uploads/2013/01/Slovní-zásoba.notebook

    #24866

    vitschlesinger
    Participant

    Omlouvám se za delší prodlevu, koneckonců už jsem asi vyzkoušel vše. I vše, co píšeš výše.

    Žluťoučký kůň a cokoli ostatního se mi nahraje bez problému, nainstaloval jsem si plugin UploadPlus: File Name Cleaner viz.:

    http://skolasd.eu/wp-content/uploads/2015/09/zlutoucky_kun.jpg

    Plugin jsem deaktivoval a obrázek se správně nahraje i zobrazí s diakritikou viz.:

    http://skolasd.eu/wp-content/uploads/2015/09/Žluťoučký-kůň.jpg

    ovšem když si adresní řádek zkopíruji, udělá to následující:

    http://skolasd.eu/wp-content/uploads/2015/09/%C5%BDlu%C5%A5ou%C4%8Dk%C3%BD-k%C5%AF%C5%88.jpg

    ale to je prý správně, jak jsem se jinde dočetl.

    Deaktivoval jsem všechny pluginy, přepnul na výchozí šablonu, ani zde se stažení souborů nedaří, vše při starém, žádná změna.

    Co se týče .htaccessu zkopíroval jsem si originální z Wedosu, nyní je to vpořádku. To, že se zobrazovala chyba v prohlížeči a né 404 stránka bylo tím, že jsem přepnul zobrazování Trvalých odkazů na ID místo klasického %postname%.

    Už si doopravdy nevím rady, klient tlačí, jelikož to nefunguje. Nějaká záchranná rada, popř. rád i někomu zaplatím, pokud to vyřeší :)

    #24867

    admin
    Keymaster
    Web

    Nápady pomalu docházejí :-(

    Pokud pošlete přístupy (administrace + FTP), tak se na to mohu zkusit podívat.

    #24906

    plastique
    Participant
    Web

    Několikrát jsem se setkal s následující situací:

    • znaky na FTP obsahují diakritiku a mezery
    • kopie na lokální počítač
    • kopie na jiný hosting, znaky v názvech zůstávají stejné, na první pohled nepoškozené
    • v databázi i na FTP je vizuálně vše v pořádku, nejsou problémy s právy
    • WP sveřepě zobrazuje 404, a to i tehdy, když je soubor řádně vidět v knihovně médií (obvykle všechny náhledy kromě originálu)

    V jednom případě to vyřešilo kopírovat data mezi hostingy v Mac OS X. Ačkoliv byly oba hostingy linuxové a já jsem kopíroval data taky v Linuxu, nastala výše uvedená situace. Kolega s Mackem ale zkopíroval data tak, že bylo vše ok.

    A závěr? Nevím. Názvy souborů by měly být v Linuxu interpretovány jako UTF-8, chápu, že ve Windows by to bylo jinak (bývá to obvykle 1250, případně 8859-2). Ale stále nevím, proč a kdy se to děje.

    #24918

    vitschlesinger
    Participant

    Problém vyřešen! I s pomocí admina, děkuji.

    Celý problém nakonec spočíval v mém počítači (mac), který sice vše kóduje v UTF-8 neb nějak hapruje. Nakonec stačilo stáhnout všechny soubory na jiný počítač (kamarádův mac), soubory se automaticky překódovaly do správného UTF-8 a následně je stačilo na FTP opět znovu nahrát. Vše tedy problém znakových sad.

Aktuálně je na stránce zobrazeno 10 příspěvků - 1. až 10. (z celkem 10)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti