Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno phpMyAdmin - nastavenie porovnávania / kódovania v databázi

Chcel by som poprosiť nejakého skúsenejšieho admina, ktorý ovláda prácu s phpMyAdmin, keby mi pomohol s týmto problémom:

Na serveri je databáza, ktorá síce pracuje korektne, ale nefunguje správne diakritika. Pri zobrazení obsahu položiek databázy stránkou dochádza k zobrazeniu otáznikov, ktoré sú vlastne aj už uložené v databáze. Problém je v kódovaní. Databáza pozostáva s niekoľkých tabuliek a tie majú v phpMyAdmin nastavené v stĺpci Porovnávanie hodnotu latin1_swedish_ci. Potrebujem tam nastaviť hodnotu pre spracovávanie slovenských znakov. Neviem sa k tomu preklikať.

Předmět Autor Datum
Pred tym ako vytiahnes nejake udaje z databazy alebo ich tam vlozis, pouzi: mysql_query("SET NAMES…
Intex 07.06.2007 21:57
Intex
Porovnávanie tabuľky môžeš zmeniť tak, že po výbere tabuľky klikneš na záložku Operácie. Kódovanie t…
los 07.06.2007 23:10
los
Našiel som to tam, treba sa preklikať na operácie a tam sa to dá meniť. Každá tabuľka zvlášť. Trochu… poslední
msx. 30.06.2007 23:51
msx.

Pred tym ako vytiahnes nejake udaje z databazy alebo ich tam vlozis, pouzi:

mysql_query("SET NAMES \"cp1250\"");

Tym ziskas vysledky v spravnom kodovani...

edit: Vsetko potrebne najdes v nastaveniach pri spustenom phpMyAdmin... nepamatam si to presne, ale pre kazdu tabulku, dokonca aj pre kazdy stlpec dokazes nastavit kodovanie... je to niekde v settings...

edit2: este aby som mohol doporucit, pouzi znakovu sadu: UTF-8 Unicode (utf8) a pre kazdu tabulku v ponuke "Operacie" zmen porovnavanie na "cp1250_bin", resp pri editacii kazdeho stlpca nastav toto porovnavanie... staci iba pre VARCHAR... vsetky nastavenia najdes pri editacii stlpca a v ponuke "Operacie" pre danu strukturu tabulky...

edit3: presne takto mam urobene forum u seba (vsak vies asi ktore)... myslim, ze pristup k zdrojakom mas urcite... sice teraz je uz trochu vymakanejsie, nie je vsak viditelne zvonku... :-)

Porovnávanie tabuľky môžeš zmeniť tak, že po výbere tabuľky klikneš na záložku Operácie. Kódovanie tam však zmeniť nejde (možno to doplnili v novšej verzii, než ktorú tu mám nainštalovanú).

Kódovanie a aj porovnávanie tabuľky môžeš nastaviť pomocou SQL príkazu:

ALTER TABLE ... DEFAULT CHARSET ... COLLATE ...;

Takže ak to chceš nastaviť pre celú databázu, spusti takýto SQL príkaz pre každú tabuľku. Pred spustením by som dáta určite zálohoval.

Zpět do poradny Odpovědět na původní otázku Nahoru