Autor Zpráva
Matous
Profil *
Ahoj mám nainstalovaný WAMP server. Když si otevřu phpMyadmin jenž je jeho součástí a v něm udělám jednoduchou databázi. Tak vkládané české znaky se mi zobrazují špatně přímo v phpMyadmin. A pokud to následně přes localhost u sebe na počítači otevřu v prohlížeči, tak je to tam taky špatně zobrazeno.

Co jsem zatím zkusil?
Tohle jsem přidal do php skriptu pro připojení k databázi:
mysql_query("SET CHARACTER SET utf8");

Dále jsem vsude ve sve databazi nastavil porovnavani: utf8_general_ci (tj u databaze, tabulky a jejich jednotlive radky)

Jinak je samozrejmosti ze v index.php mam na spravnem miste vlozeno:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Ja osobne vidim problem v tom ze se vse spatne zobrazuje uz primo v tom phpMyadmin.

Dočetl jsem se něco o systémových proměnných v phpMyadmin, nakonec jsem je našel ale nevím jak je změnit.
Tady je jejich výpis:

character set client                    utf8
(Globální hodnota)                    latin1
character set connection     utf8
(Globální hodnota)                    latin1
character set database     latin1
character set filesystem     binary
character set results                    utf8
(Globální hodnota)                    latin1
character set server                    latin1
character set system                    utf8
character sets dir                    c:\wamp\bin\mysql\mysql5.1.53\share\charsets\
collation connection                    utf8_general_ci
(Globální hodnota)                    latin1_swedish_ci
collation database                    latin1_swedish_ci
collation server                    latin1_swedish_ci

A je mi taky divne ze ackoliv jsem vsude nastavil porovnavani utf8_general_ci a je to mozne krasne zkontrolovat, ze ano. Tak tady na tom vypisu na konci lze videt nejake "swedish".

Je mi jasne ze asi pletu jablka s hruskama, ale muzete mi nekdo pomoci?
Kdyztak se cokoliv zeptejte jestli jsem neuvedl dost informaci. Potrebuju to vyresit
Kajman
Profil
Data, která se zobrazují špatně, byla přidána až po uváděném nastavení kódování sloupců a připojení?
Matous
Profil *
Kajman:
Ne, data byla přidána předtím. Kódování bylo nastaveno až potom. Teď je text plný otazníků. Když teď s tím jak je to nastavené přepíšu otazník na písmeno s háčkem a dám uložit, nezafunguje to. Vyhodí mi to chybovou hlášku.
Kajman
Profil
Data uložená předtím provedné změny neovlivní. Špatně vkládaná data lze při troše štěstí opravit.

Matous:
Vyhodí mi to chybovou hlášku.
Jakou?
Matous
Profil *
Kajman:
Zde je příklad:

Řekněme, že mám ve sve databazi tabulku a v té tabulce sloupec pojmenovaný 'anotation'.

V poli hodnota je nyní tento text: 'Než se pustíte do ?tení ?lánk?'

Když jej edituju za účelem zbavení se otazníku na začátku slova 'článků' a do pole Hodnota zapíšu: 'Než se pustíte do ?tení článk?' a poté kliknu na proveď.

Změna se neprojeví a phpMyAdmin vypíše červeně hlášku:

'Ovlivněno 1 řádků.
Warning: #1366 Incorrect string value: '\xC4\x8Dl\xC3\xA1n...' for column 'anotation' at row 1'
Kajman
Profil
Jaké porovnání je nastavené u tohoto sloupce?
Matous
Profil *
Kajman:
No pokud tomu dobře rozumím, tak nejnižší úroveň na které lze nastavovat porovnávání, je úroveň tabulky. Tabulka ma porovnavani utf8_general_ci, cili sloupec ma taky porovnavani utf8_general_ci.
Davex
Profil
Matous:
Na textových sloupcích jde collation nastavit také.
Matous
Profil *
Vypada to ze uz je to vyresene, opravdu jsem nasel nastaveni porovnavani na urovni sloupcu, zmenil ho a je to.

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:

0