Autor Zpráva
jouda
Profil *
Prosím o radu. Pokouším se nad MySQL 4 použít příkaz:

select distinct(substring(nazev,1,1)) pismeno
from nazev_tabulky

Žel jsou zkomoleny české znaky. Zdá se, že v UTF 8 je znak s diakritikou v této db tvořen dvěma znaky, tzn. pokud dám substring 1,1 vybere se jen jeden z nich a na výstupu je zkomolen. V MySQL 5 nebo 4,1 s tím není problém, ale na 4,0 ano. Asi se tam pracuje jinak s kódováním. Jak toto obejít? Příkaz CONVERT mi MySQL nebere a hlásí chybu. Výstup příkazu potřebuji jako vstup do PHP skriptu - webu, který je celý v UTF8. Podotýkám, že když vyberu celý řetězec, je čeština v pořádku. Obávám se, že v MySQL 4 nelze pracovat s mysql_query ("SET NAMES UTF8"); toto nepomáhá.

Díky moc za každou radu.
Joker
Profil
Zdá se, že v UTF 8 je znak s diakritikou v této db tvořen dvěma znaky
Přesněji: v UTF-8 jako takovém jsou znaky s diakritikou tvořeny dvěma bajty.

Tohle bude asi docela problém, protože MySQL 4.0 není na UTF a různé znakové sady ještě moc připravené. A je ta podpora MySQL 4.0 tak důležitá? Nelze si stanovit minimální požadavek na MySQL 4.1?
Nakonec, vývoj verze 4.0 (dokonce i 4.1) už byl oficiálně ukončen a MySQL AB pro ně už neposkytuje podporu (resp. poskytuje "extended support", kdy se opravují akorát kritické chyby)
jouda
Profil *
Problém je v tom, že jsem odladil web na PHP 4 a MySQL 4.1 a na hostingu je MySQL 4,0 vázaná na PHP4 nebo MySQL 5 vázaná na PHP5, ale nechci riskovat, že něco nepojede díky jinak nastavenému PHP i když v5 by měla být snad v pohodě (problém mohou být proměnné). Asi ale jediná šance je přechod na vyšší verzi MySQL a risknout to PHPko nebo web překódovat do ISO 8859-2, ale kódovat to nebudu.
djlj
Profil
jouda
Pokud je konfigurace php5 stejná jako php4, neměl by být žádný problém. MySQL 4.0 je opravdu už trochu historická verze.
jouda
Profil *
No prave ze neni, ale asi jinou sanci nemam nez to risknout nebo zmenit webhostera. Nastaveni je zde: http://www.cesky-hosting.cz/napoveda-detail-nastaveni-php.html

Dela mi vrasky ten "safe_mode"
Kajman_
Profil *
Tak si zkuste nainstalovat php5 se safe_modem u sebe a uvidíte, jestli všechno poběží, jak má.
Kajman_
Profil *
A pokud je to jediná věc, co Vás v té aplikaci trápí, tak si můžete udělat ještě jeden sloupeček. A plnit ho přes php pomocí mb_substr prvním písmenem. Pak nemusíte v mysql substr volat a dotaz bude tedy i rychlejší.

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