Jump to content

Připojení databáze s kodováním češtiny


milan77

Recommended Posts

Zkouším editovat order_edit.php, protože se blbě zobrazuje diakritika. V php po připojení datrabáze přidam:

mysql_query("SET NAMES 'utf8'");


ale moc to nepomůže, ještě se to zhorší. db i php mám v utf-8. Nevěděl by někdo, kde může být problém? V příloze mám order_edit.php

order_edit.php

Link to comment
Share on other sites

Skus odstranit funkcie utf8_decode a utf8_encode - generovana html stranka je v utf-8 a nie v iso-8859-1 /to mal asi autor/

A skontroluj si v MySQL tabulku prefix_order_detail - ak si pomocou tohoto skriptu uz modifikoval, tak je mozne ze v tabulke su uz zapisane nezmysly

Link to comment
Share on other sites

To mam vsechny ty prikazy vymazat? Ja myslel, ze je to tak dobre, ze je to kodovanu v utf8

Ne, ja jsem zmenil pak popis na popis bez diakririky v tom skriptu, tak na objednavce je to bez ni, ale to ne. Ted to prave testuju na free serveru

EDIT: Tak jsem to vyřešil, že jsem do hlavičky dal místo utf-8 toto (plus teda vymazání příkazů encode a decode):

<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"/>



A pomohlo, akorát nevim, jestli je to úplně košer :-(

Link to comment
Share on other sites


EDIT: Tak jsem to vyřešil, že jsem do hlavičky dal místo utf-8 toto (plus teda vymazání příkazů encode a decode):
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"/>


A pomohlo, akorát nevim, jestli je to úplně košer :-(



To nie som si isty, ci je to takto dobre, hlavne ako sa budu ukladat nazvy s diakritikou do databazy pri modifikacii - ale je fajn, ze mas testovacie prostredie ;)

V predchadzajucom prispevku som to popisal blbo - autor skriptu mal zrejme databazu v latin1 a ked potreboval na stranke s charset utf8 zobrazit texty, tak pouzil utf8_encode /napr utf8_encode($products['product_name'])/ . Pri modifikacii pred ulozenim do db naopak konvertoval do iso-8859-1 /addslashes(utf8_decode($_POST['product_name'][$id_order_detail]))/

Podla mna takto:
1. databaza (collation) v utf-8
2. pripojenie do databazy s mysql_query("SET NAMES 'utf8'"); alebo s mysql_set_charset('utf8');
3. <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
4. vsetky utf8_decode a utf8_encode prec:
Link to comment
Share on other sites

Hm, ale takto mi to právě nefungovalo :-( Zkoušel jsem i latin, ale nic. Až zabralo to, co jsem popsal výšel.
Do databáze se pak ještě mrknu, jak se to uládá, ale asi dobře, páč ve faktuře mám normálně znaky s diakritikou. Je to sice tak nějak padlý na hlavu, ale funguje, záhadně:-)

Link to comment
Share on other sites

skus na zaciatok skriptu hlavicku

<?php
header('Content-Type: text/html; charset=utf-8');



a stale tvrdim, ze v meta iso-8859-1 nema co hladat ak mas db v utf8, takze v meta nebude nic alebo:

<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> 



V prilohe v obrazkoch je vidno, ze nezalezi na meta tagu, ale na charsete ktory je poslany v hlavicke, ak prehliadac nezobrazuje v utf-8, tak je to blbe

38046_ZqUls3I0amBz1M2Dgye3_t

38047_3aiESbQ7L2UmSioTm1QZ_t

Link to comment
Share on other sites

Tak jsem zkusil vše, ale hází to chyby. Jediný, co funguje je to jiný kodování. je to dost divný, ale to jediný funguje :-(
A tak mi napadlo. Jediný, co by se mohlo poškodit, kdyby byly blbě znaky a dal bych modify, tak v databázi název produktu, ale jen v té orders, ne natrvalo u produktu.
Je to teda divný, zkusil jsem stejným způsobem upravit add_product jako jsem upravil order_edit a funguje.
Ale moc se mi to nelíbí, že se takhle míchaj kodování, i když databázi mám UTF-8, ale to jediný funguje, hm

EDIT:
Tak jsem to zkusil na ostré verzi našeho shopu a tam to házelo špatné znaky. Tak jsem dal do hlavičku UTF-8 a po připojení do databáze SET NAMES UTF-8 a jede to parádně:-)

Link to comment
Share on other sites

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...