Jump to content

Problém s kódováním.. špatné znaky!


Kaspi88

Recommended Posts

Zdravím,

chci se zeptat jestli někdo řešil takový problém jaký teď popíšu ;-)

Při vytváření produktu se píše k danému zboží text. Produkt (zboží) se potom uloží a do databáze se zapíše ale ten text je ve špatném kódování. Místo znaků s čárkami a háčky se vytváří ty znaky
(Příklad: ý - & yacute; )
V obchodě se však text zobrazí správně avšak když si dáme zobrazit zdrojový kód tak tam vidíte tyto znaky a pro SEO je to špatné.

Problém je už při zapsaní a vytvoření do databáze protože už tam je text uložen ve špatném kódování.
Tím pádem musí být problém v nastavení někde v eshopu.

Nemáte někdo s tímto problémem zkušenosti? Respektivě aspoň kde by se to mohlo upravit?

Link to comment
Share on other sites

Já jsem do /admin/tags/AdminProducts.php do funkce tinyMCE.init přidala eintity_encoding: "raw" ,
a zatím se zdá že to funguje


Problém vyřešen a kódování je správné ;-)
Výborně, takovou ženskou bych potřeboval mít doma :D

Kódování už jede správně, zápis do databáze je také správný. Superrrr!!

ještě to tu jednou shrnu: /admin/tags/AdminProducts.php otevřu
cca 1476 řádek - dejte radši hledat tinyMCE.init a pod to někam přidejte eintity_encoding: "raw" ,
Uložte a potom už se do databáze zapisují správné znaky. Zboží, které jste už vytvořili musíte jejich text přepsat do správného kódování.

Ještě jednou děkuji mardon
Link to comment
Share on other sites

Já jsem do /admin/tags/AdminProducts.php do funkce tinyMCE.init přidala eintity_encoding: "raw" ,
a zatím se zdá že to funguje


Problém vyřešen a kódování je správné ;-)
Výborně, takovou ženskou bych potřeboval mít doma :D

Kódování už jede správně, zápis do databáze je také správný. Superrrr!!

ještě to tu jednou shrnu: /admin/tags/AdminProducts.php otevřu
cca 1476 řádek - dejte radši hledat tinyMCE.init a pod to někam přidejte eintity_encoding: "raw" ,
Uložte a potom už se do databáze zapisují správné znaky. Zboží, které jste už vytvořili musíte jejich text přepsat do správného kódování.

Ještě jednou děkuji mardon


Drobný překlep má to být:
entity_encoding: "raw" ,
Link to comment
Share on other sites

Výše uvedené řešní funguje pro ukládání textu z editoru tinyMCE do db. Ovšem mě se entity i nadále zobrazují ve zdrojáku stránky i když v db jsou správně. Koukal jsem, že to ještě na výstupu překódovává šablona. Je tam například tohle:

{$product->name|escape:'htmlall':'UTF-8'}



Když to vyměním za následující, tak tam entity nejsou

{$product->name|htmlspecialchars}



Zajímalo by mě, jestli to můžu teda hromadně v šablonách nahradit. Nejsem tak znalý programátor abych tušil co se pak stane :)

Link to comment
Share on other sites

Jo to už se řeší v theme. Já jsem měl problém se zobrazováním v celém zdrojáku. Od header-header.tpl (description, keywords,...), Kategorie-category.tpl a i produkty-product.tpl, špatně se mi zobrazovali znaky a přitom byli v databázi dobře. Po úpravě výše ;-) Musíš si upravit theme.

Já nejsem taky žádný programátor a vyřešil jsem to podle jiného theme a tam se znaky zobrazovali správně

(příklad s header)
<meta name="description" content="{$meta_description|escape:htmlall:'UTF-8'}" />
<meta name="description" content="{$meta_description}" />

Smaž definici escape, která má za úkol text převédst. Jelikož shop i databázi máš nastaven na UTF8 tam když to tam nebude tak bude se zobrazovat normálně v UTF8, takže správně.
Já mám "skoro" všude smazaný. Tam kde jsem potřeboval a všechno funguje ;-)

Link to comment
Share on other sites

jak říkám, dělal jsem to podle jiného theme, ve kterém se zobrazovali znaky správně i ve zdrojáku. Tak jsem to upravil podle něj a všechno zatím funguje ;-)

Ale máš pravdu s tím, že kdyby tam byli znaménka nebo podobně ale to nedělalo neplechy. htmlspecialchars se používá pouze při výstupu, ne při zápisu, tak nevím jestli by to mohlo něco dělat. Ale když to zapíšeš s htmlspecialchars tak se nic nestane spíše naopak ;-)

Link to comment
Share on other sites

Ano uvedené nastvení opravuje pouze zápis do db jak píše Kaspi88, když kouknu do zdrojového kódu tak se mi tam taky objevují ty entity. Zajímavé je že někdy, je tentýž text v pořádku a o pár řádků níže je tam HTML entita.

Link to comment
Share on other sites

  • 4 weeks later...
{$product->name|escape:'htmlall':'UTF-8'}



za

{$product->name|htmlspecialchars}





...v adresáři "theme" v souborech *.tpl má být řešení pro to, aby se nepsaly ve zdrojáku entity? U mě se to jeví býti poněkud kostrbaté - Zdá se, že tohle řešení otázky entit není definitivní :)

PS: Zdravím Vás, url shopu přidám, jakmile to bude ready...
Link to comment
Share on other sites

aha, tak v mém případě se entity zobrazují dokonce i v DB - Tak potom nemužů chtít zázraky...

pasáž v souboru AdminProducts.php jsem editoval následovně:


[removed][removed]
[removed]
tinyMCE.init({
language : "';
$iso = Language::getIsoById(intval($cookie->id_lang));
echo ((!file_exists(PS_ADMIN_DIR.'/../js/tinymce/jscripts/tiny_mce/langs/'.$iso.'.js')) ? 'en' : $iso).'",
mode : "textareas",
theme : "advanced",
eintity_encoding: "raw",
elements : "nourlconvert",
convert_urls : false,
theme_advanced_buttons1 : "bold, italic, underline, fontselect, fontsizeselect",


Je to v pořádku??
Link to comment
Share on other sites

  • 1 month later...

Tak mám tento problém ve verzi 1.1 opět ale v databázi je text zapsán správně a jak upravuju šablonu tak nic nepomáhá.
Vyzkoušel jsem všechno, problém v themes není a v databázi také ne.
Zdrojový kód je ale špatný a tím pro seo nejde používat. Zkoušel jsem i mou upravenou šablonu, která běží v PS 1.0 a tam ve zdrojovým kódu jsou také špatný znaky.
Nevíte někdo kde by mohl být problém?

V 1.0 themes zobrazuje znaky správně ale v 1.1 nikoliv...

Link to comment
Share on other sites

  • 2 weeks later...
jak říkám, dělal jsem to podle jiného theme, ve kterém se zobrazovali znaky správně i ve zdrojáku. Tak jsem to upravil podle něj a všechno zatím funguje ;-)

Ale máš pravdu s tím, že kdyby tam byli znaménka nebo podobně ale to nedělalo neplechy. htmlspecialchars se používá pouze při výstupu, ne při zápisu, tak nevím jestli by to mohlo něco dělat. Ale když to zapíšeš s htmlspecialchars tak se nic nestane spíše naopak ;-)


Cau, mam stejny problem, s vadnymi znaky ve zdrojaku (v databazi je to OK) mam original sablonu Presta 1.1.0.1 - projel jsem adresar themes/prestashop a atribut escape je obsazen 227 x v 62 dokumentech.
Muzes mi pls napsat v kolika (popripade v kterych souborech jsi upravu povadel aby ve zdrojaku byly znaky OK ?
Diky za radu Unka
Link to comment
Share on other sites

  • 1 month later...

Možná je už to tady zodpovězeno, ale chci se zeptat. Než mně budete kamenovat, zkoušel jsem úpravy podle výše uvedeného až jsem musel znova PS nainstalovat, nezobrazoval se mi pravý blok :-)

Mám dva problémy : A Samozřejmě zdroják , entity-
B. Nákupní košík viz.obrázek
1. Vložím produkt do košíku
2. Obnovím stránku, nebo prohlížím dál
3. Vložím druhý produkt do košíku
4. Obnovím stránku, nebo prohlížím dál

Ještě mně napadá jiný problém, ......, tím jsem asi já ! :-S

Zmije jedovatá děkuje za trpělivost !

4640_KrYKt5rBtFqtgrRjMYEk_t

Link to comment
Share on other sites

  • 4 weeks later...
Tak mám tento problém ve verzi 1.1 opět ale v databázi je text zapsán správně a jak upravuju šablonu tak nic nepomáhá.
Vyzkoušel jsem všechno, problém v themes není a v databázi také ne.
Zdrojový kód je ale špatný a tím pro seo nejde používat. Zkoušel jsem i mou upravenou šablonu, která běží v PS 1.0 a tam ve zdrojovým kódu jsou také špatný znaky.
Nevíte někdo kde by mohl být problém?

V 1.0 themes zobrazuje znaky správně ale v 1.1 nikoliv...


V souboru header.tpl (defaultně ve složce themes/prestashop) musíš smazat řetězce |escape:htmlall:'UTF-8'. Potom už je description a keywords ve zdrojáku stránky produktu správně. Ftip je samozřejmě v tom, že tyto dva htmlall jsou bez těch jednoduchých uvozovek.

|escape:htmlall:'UTF-8' je tam eště v dalších 10 souborech, ale to jsem zatím neřešil.
Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...
Zkoušel jsem ve verzi 1.1.0.5 tento postup upravit, každopádně v tom problém nebyl. Vypsání objednávky v modulu koše je ok! Mě se špatně zobrazují znaky v prohlédnutých produktech:

S tim taky bojuju, ale zatim neuspěšně, navic se to nekorektně zobrazuje i v košiku, jo a chtěl jsem se zeptat, proš se mi i entity objevují v hláškách, když například překročíte počet zboží na skladě při dávání do košíku, tak v okně s upozorněním mam entity také.
Díky za jakýkoli nápad
Link to comment
Share on other sites

Ahoj,
mám ten samý problém s entitami ve verzi 1.1.0.5.
Myslím, že je to právě velký problém a nechce se mi věřit, že za tu dobu, co je PS na světě, nikdo tento problém nevyřešil....
Se říká, že prestashop je v aktuální době nejlepší free eshop řešení. Mě se líbí, je jednoduchý, lze jednoduše upravovat do jakékoliv podoby, jen ten problém s entitami....a je to tak závažné, že to prostě nemůžu zatím používat.

Link to comment
Share on other sites

Zatím tu entitu neřeším, bo upravuju něco jiného. Presta nejlepší skutečně asi bude - jenže kdyby CZ byl anglofonní stát, tak žádné problémy s instalací a počeštěním nemáme! Podělaný háčky a čárky nad písmeny a čárky mezi slovy, tohle žádná země na světě skoro nemá. Entitu budu řešit příští týden...,

Link to comment
Share on other sites

  • 2 weeks later...
Zatím tu entitu neřeším, bo upravuju něco jiného. Presta nejlepší skutečně asi bude - jenže kdyby CZ byl anglofonní stát, tak žádné problémy s instalací a počeštěním nemáme! Podělaný háčky a čárky nad písmeny a čárky mezi slovy, tohle žádná země na světě skoro nemá. Entitu budu řešit příští týden...,


Tak co začal jsi nějak řešit ty entity? Mám s tím taky problém a nemohu se hnout z místa.
Link to comment
Share on other sites

  • 2 weeks later...
  • 8 months later...
  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...