Autor Zpráva
jio
Profil
Dobrý večer,
prosím o informaci jak importovat data do MYSql 4,1. Problém mám s CMS Wordpress.

Na IC.CZ, který běží patrně na Linuxu je u db uvedeno porovnávání latin2_czech_cs. Toto neovlivním, je "natvrdo". Když z této db vyexportuju obsah nějaké tabulky, tak je to směsice utf-8 a latin2. Směsice proto, že komentáře JSOU v utf-8 (tzn., že po zobrazení v kódu UTF-8 je vidím čitelné), ale data v něčem, co vypadá jako UTF-8, když se na to podívám v win1250. Např. Ă?vod = Úvod, Ä?lĂĄnky=Články. Když tuto předtím vyexportovanou a nečitelnou tabulku naiprortuju zpátky, tak je vše OK a WordPress vše zobrazí jak má.
Když tam ale importuju tabulku z jiného zdroje (create table + Insert), kde jsou texty v UTF-8, tak dostanu ve WordPress paznaky.

Stejná situace je u MySQL 4.1 na mém PC s WIN XP, kde je porovnávání latin1_swedish_ci.
Export tabulky se slovem Nezařazené v INSERT vypadá při prohlížení v Total Commander takto:
win1250 - NezaÅ™azen�©
UTF-8 - NezaA™azenA©
Když jsem zakládal pro WordPress u sebe na PC s WIN XP v PHPMyAdmin databázi (u hostingu to neovlivním, tak je db "natvrdo") tak jsem zkoušel pro databázi různé jiné porovnání (latin2_czech_cs, utf8, windows1250 atd.) ale s těmito to taky nefunguje. Wordpress zobrazuje nesmysly sám u vlastních textů i když se na takto vytvořenou db nově instaluje. Funguje pouze s latin1_swedish_ci.

Zkoušel jsem u sebe texty, které potřebuji do db naimportovat v INSERT konvertovat do různých kódování, nastavoval jsem při importu různé znakové sady souboru, výsledek je stále stejný - dostanu ve WordPress paznaky.

U hostingu na hyperlinx.cz, kde běží MySQL 4.0 na Linuxu a je pouze nastaveno language na utf-8 bez porovnání problém není. Když jsou texty v insertech v utf-8, tak je bez problémů načte a Wordpress pak správně zobrazí.

Můžete mi prosím poradit jak toto překonat?

mysql_query('SET character_set_results=UTF8');
mysql_query('SET character_set_connection=UTF8');
mysql_query('SET character_set_client=UTF8');
mám nastaveno.
krteczek
Profil
mysql_query("SET NAMES utf-8"); tam asi chybi.-)
jio
Profil
mysql_query("SET NAMES utf-8");

tam skutečně nebylo. Doplnil jsem to a po importu dostanu v prohlížeči tento výsledek:
ڶod = Úvod
Ji?�a> = Jiří

V PHP MyAdmin je zobrazeno Úvod, pouze místo některých písmen (č, ů, ř a další) jsou otazníky. V prohlížeči jsou místo těchto otazníků buď zase otazníky nebo čtverečky.

Nebyl by odkaz na český web, kde si k tomu můžu něco přečíst?
Přiznám se, že nevím na co se v google vlastně zeptat, v PHP jsem jen na úrovni věčného začátečníka (neživím se tím) a angličtinu zvládám většinou s pomocí slovníku. Takže dosti špatná kombinace.
krteczek
Profil
jio: omlouvám se, zase jsem to napsal blbě:-(
mysql_query("SET NAMES utf8"); : ta pomlčka tam nemá být, již jsem to tu jednou někomu psal a tady jsem se přepsal:-(
krteczek
jio
Profil
krteczek
díky za odpověď, ale bohužel to nepomohlo.
XP Home, phpMyAdmin 2.6.1 , Apache 1.3.33, PHP 4.3.10
MySQL 4.1.9, language Czech (cs-utf-8), Znaková sada připojení k MySQL: utf8_czech_ci, Porovnávání: latin1_swedish_ci.
Importovaná data v UTF-8, výsledek ڶod = Úvod, Ji?�a> = Jiří.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0