Kódování češtiny ve jménu souboru s přílohou

vlada
09. led 2021 12:26 #143511
Hezký den. Při přemigrování webu na J2.5 jsem zjistil, že Attachments nezobrazí přílohy, pouze dá hlášku že soubor nenašel, třeba:

The requested URL /OSH2021/attachments/article/475/Test háčků ěščřžýáíé.txt was not found on this server.

Při zkoušení všeho možného jsem zjistil, že totéž dělá už i web stažený ze serveru na local před migrací. Na serveru web běží jako hodinky. Problém by tedy mohl být v nastavení WAMP 2.4. V novějším WAMP 2.5 původní web už nešel rozběhnout. Byl odladěný na WAMP 2.0.
Všude, kam se dívám, vidím normální diakritiku a nikoli zástupné znaky. Ty jsou pouze v názvu souboru tvořící přílohu. Vzniknou tedy při ukládání přílohy.

Není to chyba při migraci ani při upgrade modulu Attachments. Když totiž vytvořím nový soubor třeba ěščřžýáíé.txt a dám ho jako přílohu, ani ten už nejde najít. Zástupné znaky diakritiky jsou jiné ve vrácené hlášce (viz nahoře) i ve jménu souboru, jak je uložené ve složce webu např.háčkĹŻ ěščřžýáíé.

Kodování tabulky Attachments v DB je UTF8_general_ci. Jediný rozdíl vidím na úvodní obrazovce phpMyAdmin, kde v poli Databázový server vidím odrážku -Znaková sada:UTF-8 Unicode (utf8).

Vůbec netuším, kde je něco odlišně nastaveného, než je předpokládám správné UTF8_general_ci. Jinak vše ostatní na webu funguje včetně volání příloh v souborech bez diakritiky.

Dokážete mě nikdo poradit? Nerad bych všech cca 800 příloh přepisoval na názvy bez diakritiky :-(
Děkuji

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
09. led 2021 13:19 - 09. led 2021 13:26 #143512
Ty znaky s divným kódováním jsou už v databázi? A na tom původním webu jsou tabulky a databáze komponenty v UTF-8?

Může za to komponenta samotná, autoři kdysi s oblibou měli nastaveno kódování na ISO-8859-1 přímo ve svých souborech. Zkuste soubory komponenty (front i back) projet na výskyt kódování a případně upravit.

Možná bude pak třeba i překonvertovat ty znaky v databázi na normální utf8.

Někdy taky stačilo po migracích u podobných rozšíření každou položku otevřít a uložit.

Migrace na J2.5 je trochu málo. Přejděte alespoň na J3x. Komponenta Attachments je pro J3 dostupná, ale připadá mi, že je na ústupu. Takže s verzí J4 budete řešit stejně novou komponentu.

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od vlada
09. led 2021 15:37 #143513
Díky za odpověď, v databázi v názvech souborů a cestách vidím normální diakritiku.

Migrace na 2.5 je mezistupeň. Pokud bude vše pokračovat, budu s migrací pokračovat výš.

Rovněž jsem podezříval komponentu, ale dělá to i s NOVOU přílohou, pokud má diakritiku. I nové přílohy jsou uloženy do souborů pod "divným" kodováním. Proto podezřívám WAMP 2.4. Ten jsem musel použít, protože na něm běží původní web udělaný na Joomla 1.5.26 i přemigrovaný na Joomla 2.5.28.
Ještě budu hledat, jestli někde v souborech Attachments nenajdu kodování.

Mrzuté je, že příloh je cca 800 k cca 250 článkům. Při ruční opravě práce na pěkných pár hodin. Pokud bych musel řešit novou komponentu pro J4 bez možnosti migrace, bylo by to velmi nepříjemné.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
09. led 2021 16:30 #143514
Na JED se najdou i lepší rozšíření , třeba budou mít i import položek ze starého Attachments.

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
09. led 2021 17:18 - 09. led 2021 17:19 #143515
Použijte JMigrator a napište výrobci zda by Vám nenaprogramoval addon pro attachment.
Nám (myšleno pro EasySoftware) takhle v roce 2014 naprogramoval Form2Content.

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od vlada
09. led 2021 19:51 #143516
Tak jsem o kousek dál. Prolematika je ve dvou částech.
1)na serveru, kde web běží, jsou názvy souborů s přilohami normálně s diakritikou. K přejmenování muselo dojít při přenosu na local, pravděpodobně při rozbalení JoomlaPackem4.0.

2)Názvy nově vytvořených příloh jsou rovněž pokopané

Co má obojí společné???

Vyzkouším přenést přílohy přes FPT na local a znovu se je pokusím přemigrovat. Tím možná zachráním ty původní.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
10. led 2021 01:02 #143517
Joomlapack?
To je k čemu?

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
10. led 2021 03:19 #143518

Rudolf napsal: Joomlapack? To je k čemu?


JoomlaPack je předchůdce Akeeba Backup. Ale to je opravdu historie, protože pro Joomla 1.5 už byla a stále je komponenta Akeeba Backup dostupná.

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od vlada
10. led 2021 09:30 #143519
Hezký den, noční zkoušky potvrdily následující:

1)Pokud na local do rozbaleného webu vrátím složku se soubory s přílohami staženou přes FTP, pak Attachment 2.1 funguje výborně. Lze vkládat i nové přílohy s diakritikou.

2)Pokud provedu upgrade na Attachments 2.2 (nutné k migraci na verzi 3.0 a výš), nebo instalaci Attachments 3.2 na migrovaném webu na Joomle 2.5, pak načítání a vytváření příloh s diakritikou přestane fungovat.

3)Prohledal jsem všechny moduly, které jsem našel na výskyt UTF-8 či ISO. Nenašel nic podezřelého.

4)Hledal jsem i místo v kodu, které určuje, kam se přílohy ukládají. U mě do složky 0_prilohy, po upgrade či instalaci do složky attachments. Zatím jsem změnu taky nenašel. Za těch 10 let jsem dost pozapomněl :-((

5)Attachtments má funkci nazvanou "Update attachment system filenames to Attachments 2.5 form", nevím, zda funguje, protože pokud ji zavolám, tak skončí prázdnou stránkou.

6)Plánuji vyzkoušet nainstalovat WAMP vyšší verze. Netušítě někdo, zda se nepoškodí stávající verze instalace WAMP 2.4?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od vlada
10. led 2021 10:22 #143521
Oprava bodu 1 - nová příloha se rovněž uloží se jménem s náhradními znaky místo diakritiky. Když se ale opraví na správný název s diakritikou, jde normálně načíst.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od vlada
14. led 2021 08:50 #143540
Takže na závěr konstatování, že problém se vyřešit nepodařilo a všech 790 souborů příloh muselo být překontrolováno a zbaveno diakritiky. Kde má Attachment problém jsem nenašel. Prostě vytvoří název souboru podle jiného kodování, než v jakém ho uloží do databáze. Zajímavé je to, že v backendu ve správci příloh dokáže tlačítko Download načíst přílohu správně, pokud soubor přejmenuji s diakritikou podle názvu v databázi. Ve frontendu to ale nezvládne a už ve stavovém řádku zobrazuje URL (cestu) s pokopanou diakritikou.
Takže závěrem - poučte všechny uživatele vašich webů, aby v názvech souborů nepoužívali diakritiku, i když to na webu zdánlivě vše funguje. Až si přenesete web na local k migraci, můžete mít velký problém :-(
Poděkovali: Bong

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.