Autor | Zpráva | ||
---|---|---|---|
jouda Profil * |
#1 · Zasláno: 9. 10. 2007, 22:43:49
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 |
#2 · Zasláno: 9. 10. 2007, 23:08:26
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 * |
#3 · Zasláno: 9. 10. 2007, 23:33:24
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 |
#4 · Zasláno: 9. 10. 2007, 23:57:52
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 * |
#5 · Zasláno: 10. 10. 2007, 07:04:49
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 * |
#6 · Zasláno: 10. 10. 2007, 09:23:46
Tak si zkuste nainstalovat php5 se safe_modem u sebe a uvidíte, jestli všechno poběží, jak má.
|
||
Kajman_ Profil * |
#7 · Zasláno: 10. 10. 2007, 10:27:14
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ší.
|
||
Časová prodleva: 17 let
|
0