Autor Zpráva
jdivan
Profil
Dobrý den,

mám problém, který se jistě řadě z Vás bude jevit jako banalita. Mé snahy jsou však stále neúspěšné, proto bych si dovolil využít Vašich rad a názorů, ve které doufám.
Věřím, že jde opravdu o banalitu a Já jen něco přehlédl.

Nyní něco k úvodu mého problému.
Původní návrh databáze nebyl schopen unést nové požadavky, proto jsem přistoupil k radikálnímu kroku a navrhl tabulky nové. Data z původních tabulek měla být rozdělena do tabulek nových. V konečné fázi šlo o jedinou takovouto tabulku, která se štěpila na 2 nové tabulky.
Po zpracování návrhu jsem původní tabulky označil sufixem _old a pustil se do tvorby tabulek nových. Po překopírování, či rozdělení dat jsem zjistil, že písmena ř a č se nezobrazují korektně.
Proto jsem zkusil zadat řádek manuálně, přes rozhraní phpmyadmin. Taktéž nebylo možné přidat znaky ř a č, i když v dotazu byly robrazeny, do databáze se uložili jako ? (otazník).

Databáze je ve formátu zobrazení jako utf8_czech_ci.
Tabulky jsou také ve formátu zobrazení jako utf8_czech_ci.
Textová pole jsou taktéž ve formátu zobrazení jako utf8_czech_ci.
Prohlížeč Firefox (2.0.0.14, jádro Gecko/20080404) mám nastaven na znakovou sadu utf8.
Scripty projektu jsou psány v programu PSPad a jsou taktéž kódovány v utf8.
Při spojení s databází přes PHP užívám příkazu :
mysql_query("SET NAMES 'utf8'")

Verze phpMyAdmin je 2.6.0-beta2.
Verze MySQL je 5.0.22.
Verze PSPadu je 4.5.3 (2298).
Výstupy jsem kontoloval jak v prohlížeči, tak v phpMyAdmin.

Mé pokusy o nápravu problému.
- Pokusil jsem se databázi (tak i tabulky i jednotlivá pole) zobrazit v porovnání utf8_bin, utf_unicode_ci, ucs2_czech_ci, latin2_czech_cs, cp1250_czech_cs a ukládat v phpMyAdmin nové řádky do tabulek.
- Pokusil jsem se o podobné řešení při vkládání přes PHP.
- Prostudoval jsem si obdobná (stejný problém jsem nenalezl) témata vyhledaná přes Google.
- Optal jsem se dalších začínajících.
- Kontaktuji a prosím o radu Vás.

Krom posledního bodu vše dopadlo neúspěchem. Věřím, že jsem pouze přehlédl nějakou drobnost, kterou všichni považovali za nepodstatnou a já ve svém nedostatečném vzdělání tuto chybu nevědomky ignoruji.

Děkuji za brzkou odpověď,
James

P.S.: Omlouvám se za možnou nepřehlednost, nemám zkušenosti s miniBB. Do příště nastuduji možnosti sémantiky a grafických znázornění tohoto systému.
jdivan
Profil
P.S.S.: Zapomněl jsem se zmínit, že nestojím o hotová řešení. Jen potřebuji poukázat, kde chybuji. Časem bych se rád věnoval této práci i na vyšší úrovni, než jako pouhý začínající amatér. Děkuji za pochopení.

// Oprava gramatické chyby.
DoubleThink
Profil *
Ještě prosím doplň, co jsi jedl na snídani. Mohlo by to mít vliv.
DoubleThink
Profil *
Jinak obecně po připojení definuj
SET NAMES utf8
SET CHARACTER SET utf8
-- případně ještě
SET COLLATION_CONNECTION = 'utf8_czech_ci'
Pak by měla DB data v UTF-8 bez problému zpracovat / vrátit.

U PMA těžko říct - překódování by zde mělo fungovat bez problémů automaticky.
nightfish
Profil
viz FAQ k tématu Databáze na webu, tam jsou minimálně dva odkazy na články, které se češtinou zabývají
Kajman_
Profil *
Mysql query browser to také zobrazuje špatně? Pak bych to zkusil na poslední stabilní verzi mysql.
jdivan
Profil
Dobrý den,

pane DoubleThink, děkuji za vaši rychlou odpověď. Jen nevím, čím jsem si zasloužil váš sarkasmus. Je snad špatné, že se snažím poskytnout veškeré mne dostupné informace? Pravidelně se setkávám s tématy, které jsou příliš dlouhé, právě díky nedostatku informací. Ale předpokládám, že vašim cílem mne nebylo deklasovat, nýbrž poučit mne o genialitě jednoduchosti. Děkuji vám za příkladnou lekci.
Připojení k databázi nastavím podle vašich rad. Neřeší to primárně můj problém, jelikož při testování jsem data zadával i z phpMyadmin, ale upřímně věřím, že se tím vyvaruji dalších zbytečných chyb. Opětovně děkuji.

Pane nightfish, děkuji i vám. Přiznám se, že tento článek http://molhanec.net/mysql_cestina_minifaq.html jsem doposud nečetl. Článek na intervalu je čitelný, rád si jej přečtu po čtveré.

Pane Kajman_, v okně s dotazem se to zobrazí správně, v databázi nikoliv. Tedy když "Projdu" danou tabulku v phpMyadmin. Přitom dle exportu v SQL formě jsou nové i původní tabulky identické.
Obával jsem se toho, že mi doporučíte stabilnější verzi databáze. Přesto mnohokrát děkuji, přivedl jste mne na novou myšlenku.

Nejsem zběhlý v používaném žargonu, mohl by mi někdo, prosím, vysvětlit pojem ztktk? Pokud jde o nějaký nesmysl, asi budu za blbce. :o)
Kajman_
Profil *
Zkuste ten mysql query browser
http://dev.mysql.com/downloads/gui-tools/5.0.html
zda je to tam špatně.

A raději se ještě jednou se podívejte, jakou kódovou stránku máte u toho sloupečku ;-)
peta
Profil
jdivan
Mno, vis, clovek tady musi mit obcas pevne nervy. Co jsou schopni tazajici vymyslet. A takovou obranou je bavit se pri psani odpovedi vtipnymi hlaskami typu, co jsi mel k snidani :)

'charset'=>array(
'h_xml' =>"", //utf-8, windows-1250, IBM850
'h_html'=>"", //cs, en
'h_lang'=>"cs", //cs, en
'h_char'=>"windows-1250", //utf-8, windows-1250, IBM850
'php' =>"", //utf-8, windows-1250, IBM850
'sql' =>"" //"SET NAMES 'utf8' COLLATE utf8_unicode_ci"
//"SET NAMES 'utf8' COLLATE utf8_general_ci"
//"SET NAMES 'cp1250' COLLATE 'cp1250_general_ci'"

function func_charset($name)
{
global $CFG;
$a = 'charset';
if (isset($CFG) && isset($CFG[$a]) && isset($CFG[$a][$name]) && $CFG[$a][$name]!="")
{
switch ($name)
{
case 'h_xml' : return '<?xml version="1.0" encoding="'.$CFG['charset'][$name].'"?>'; break;
case 'h_html': return ' xmlns="http://www.w3.org/1999/xhtml" xml:lang="'.$CFG['charset'][$name].'" lang="'.$CFG['charset'][$name].'"'; break;
case 'h_lang': return '<meta http-equiv="Content-language" content="'.$CFG['charset'][$name].'"/>'; break;
case 'h_char': return '<meta http-equiv="Content-Type" content="text/html; charset='.$CFG['charset'][$name].'"/>'; break;
case 'sql' : sq($CFG['charset'][$name]); break;
case 'php' : header('Content-Type: text/html; charset='.$CFG['charset'][$name]); break;
default: break;
}
}
}

To jsou zhruba vechny moznosti, jakymi lze nastavit kodovani na strance, pro HTML, PHP, MYSQL, xml a pod.
php / html / mysql musis mit 100% dobre, pak se stranka dobre zobrazi a odesila data ve spravnem kodovani. Pokud toto fungue spravne, uklada ěščř dobre, pak je vse nastavene spravne k pouzivani.

Pro export, editaci, prohlizeni, import do phpmyadmina je treba spravne nastavit phpmyadmina. Pokud je nad databazi, tabulkou, sloupcem jine kodovani, pripojeni, apk se vse zobrazuje podivne.
jdivan
Profil
Dobrý den,

omlouvám se, že reaguji takto opožděně. Přesto všem děkuji za pomoc, problém byl vyřešen.
Požadoval jsem aktualizaci verze MySQL databáze a bylo mi vyhověno. Nyní už vše pracuje korektně.

Jen malý dotaz na závěr. Při duplikování tabulky se přepisuje veškeré nastavení? Včetně CHARSETu, NAME?
Protože i když jsem duplikoval zcela funkční tabulky (co se týče těch znaků), přesto tyto duplikované tabulky "dělaly problémy".

Ještě jednou všem moc děkuji za cenné rady a s přáním krásného zbytku dne se loučím,
James

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0