Autor Zpráva
Eduard A.
Profil *
Dobrý den, potřebuji poradit nyní:
Mám databázi mysql na localhostu, kde jsem nyní komplet připravil e-shop a jeho data.
Nyní nevím, jak to pomocí myadminu exportovat, protože všechny pokusy vedly k tomu, že jsem měl "rozsypaný čaj" (místo některých diakritických znaků je "?")

V html mám tohle a funguje to:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">

Tabulka je v latin1_general_ci. V phpmyadminu teda vidím nějaké paznaky (sportovní ètyøkolka
pøi použití tašky na mimink..), ale jinak to bezproblémů funguje.

Poradíte, jak to celé exportovat?

Díky eda
SwimX
Profil
Eduard A.
Poradíte, jak to celé exportovat?
Exportovat data z PHPMYADMINa lze pomocí tlačítka export. Zbytek si navolíš (export - musíš mít označenou tabulku)

Co se týče kódování, řeší se to tu pořád.
Meta tag nestačí, je třeba mít soubor spráně uložen. Např PsPAD nahoře karta Formát a vybrat stejné kódování jako si vynucuješ meta tagem.
Tabulka by měla být ve stejném kódování, stejně tak i její sloupce. Předejdeš tím těmto problémům. Při připojování na db se eště nechá kódování vynutit pomocí:
  mysql_query("SET NAMES 'cp1250'");
  mysql_query("SET CHARACTER SET 'cp1250'");  

Pokud už tam máš data pak bych asi doporučil udělat skript - vytáhnout je z tabulku, překódovat je a nacpat do stejné tabulky (v jiné databázi), která by měla správně natavené porovnávání.
Eduard A.
Profil *
A to mám udělat jak?
Jak mám docílit toho, abych měl jak v phpmyadminu i viděl v html to samé?
Kajman_
Profil *
Mělo by pomoci převést každý sloupeček na binary a poté na cp1250. Poté by už i v pma měla být diakritika dobře.

http://php.vrana.cz/prevod-kodovani-mysql.php
Kajman_
Profil *
Nebo ještě můžete zkusit z pma export s nastavením latin1 a kouknout, jestli tam čaj zmizí. V tom souboru nahradit všechny latin1 za cp1250 (obdobně collation) a naimportovat zkušebně jako cp1250. Pokud to bude ok, tak naimportovat i na ostrý server.
zvěřiňák
Profil *
1. Je jedno, v jakém kódování je tabulka a soubor, z něhož přenáším data (jenom musí korektně zobrazovat českou diakritiku).
2. Při každém připojení k databázi deklarovat v jakém kódování data posílám pomocí SET NAMES (není potřeba znovu nastavovat znakovou sadu SET CHARACTER SET).
3. Pokud tohle nemám (SET NAMES), databáze si určí při přenosu dat sama v jakém kódování jsou posílaná data a uloží českou diakritiku jako ty paznaky. Potom v phpmyadminu to vidíš. Při opětovném čtení z databáze bez nastavení SET NAMES použije databáze stejný algoritmus jako při zápisu a data se zobrazí správně.
4. Pokud zapsaná data chceš nějak opravit, žádným laborováním se znakovými sadami v databázi se ti to nepovede. Jedině dosáhneš toho, že všechny paznaky se převedou na otazníky a to už je nevratná operace a zpátky to vrátit nejde.
5. Jde to opravit jedině mimo databázi. Vypsat to nějakým skriptem bez nastavení SET NAMES (data by se měla zobrazit správně s diakritikou) a zapsat zpátky s nastavením SET NAMES na kódování, v jakém jsou data uložena.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: