[ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.06.07
Prihlásený: 26.11.19
Príspevky: 69
Témy: 40 | 40
NapísalOffline : 01.04.2010 0:50 | MySQL a diakritika

Neviem cim to presne je ale mam v aplikacii routing kde je SERVER/CONTROLLER/ACTION/PARAM1/VALUE1/PARAM2/VALUE2... Teraz vsetky PARAM a VALUE davam do globalnej premennej GET a zaroven na ne aplikujem funkciu urldecode. Potom pri pouziti Zend_Db mam nasledovny dotaz
Kód:
$select = $database->select()
            ->from('users', array('ID','Name'))
            ->where('Name REGEXP ?', $regex);


Kde $regex je '^($letter)'; a $letter je pismeno abecedy co je v podstate hodnota parametra PARAM1 - teda je to VALUE1.

Vyzera ze vsetko ide v poriadku ale len na niektore pismena v abecede. Ked mam bezne pismene bez diakrity je vsetko ok ale su niektore s diakritikou napr. Á, Ž alebo Ň tak to nejde. Nenájde nič. Samozrejme v DB v tabulke users mam uzivatelov s ich menom zacinajucim na Á, Ž aj Ň. Nie sú to realne mena ale na skusku.
Tak napr. localhost/index/index/letter/M vrati 3 vysledky ale localhost/index/index/letter/Ň nevrati nic aj ked existuje jedno take meno v tej tabulke.

Viete mi poradit ze kde moze byt chyba? V routingu, pri urldecode, v mysql dotaze?

Skusal som aj priamo v PHPMYADMIN a ani tam mi to neslo s tymi isty znakmi. Asi to ma problem zo znakovou sadou.

Databazu mam v collate UTF8_GENERAL_CI. Je potrebne prekonvertovat $letter na UTF-8? Ak ano tak ako? A je potrebne aj zadat za SQL dotaz aj COLLATE "UTF8_GENERAL_CI" - tiez by som v tom pripade potreboval poradit ze ako na to

Dakujem


Offline

Užívateľ
Užívateľ
MySQL a diakritika

Registrovaný: 01.04.10
Prihlásený: 08.10.11
Príspevky: 339
Témy: 0 | 0
NapísalOffline : 01.04.2010 15:48 | MySQL a diakritika

Nejak mam problem ti porozumiet.
Na jednej strane tvrdis, ze mas v DB uz vlozene data s diakritikou.
Na druhej strane tvrdis, ze v PHPMyAdmin data s diakritikou nevidis.
Tak ako teda?

Btw je pouzivam utf8_slovak_ci


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.06.07
Prihlásený: 26.11.19
Príspevky: 69
Témy: 40 | 40
Napísal autor témyOffline : 01.04.2010 16:12 | MySQL a diakritika

Asi som sa zle vyjadril.
Cez INSERT som vlozil udaje do DB s diakritikou.
Ked dam klasicky SELECT * FROM tak vsetko pekne vypise - vidim to vo vysledku. Ak je ale za prikazom WHERE prikaz REGEXP tak uz to nepracuje - teda nevyhlada tie zaznamy ktore splnaju regularny vyraz a zaroven som ich cez INSERT vlozil. Cize v DB existuje zaznamy kde prvy Name='Žižka' a druhy Name='Zrubec' a ked budem mat regularny vyraz '^(Z)' tak vysledok bude len ten druhy zaznam co je dobre ale ak bude regularny vyraz '^(Ž)' tak ziadny vysledok (0 results).


Offline

Užívateľ
Užívateľ
MySQL a diakritika

Registrovaný: 01.04.10
Prihlásený: 08.10.11
Príspevky: 339
Témy: 0 | 0
NapísalOffline : 01.04.2010 17:03 | MySQL a diakritika

a ked skusis
Kód:
SELECT * FROM tabulka WHERE stlpec like 'Ž%'

tak to ide?

Lebo ja ked som mal podobny problem, tak ja uz som pri nahlade na data (napr. v PhPMyAdmin) nevidel Masloň ale Maslo? (cize uz v tabulke to bolo zle). No a u mna pomohlo utf8_slovak_ci


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.06.07
Prihlásený: 26.11.19
Príspevky: 69
Témy: 40 | 40
Napísal autor témyOffline : 01.04.2010 17:16 | MySQL a diakritika

Nie ani takto to nejde.
Ale som sa niekde docital ze REGEXP ma problemy zo znakovymi sadami - neviem ci je to pravda - tak ale ak ano tak moze to byt v tom.


Offline

Užívateľ
Užívateľ
MySQL a diakritika

Registrovaný: 01.04.10
Prihlásený: 08.10.11
Príspevky: 339
Témy: 0 | 0
NapísalOffline : 01.04.2010 17:17 | MySQL a diakritika

A to co som ti napisal si skusal cez PHP ci priamo ako query cez nejaky DB tool? (phpmyadmin, mysql query browser ... ) ?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.06.07
Prihlásený: 26.11.19
Príspevky: 69
Témy: 40 | 40
Napísal autor témyOffline : 01.04.2010 17:32 | MySQL a diakritika

Cez phpmyadmin.


Offline

Užívateľ
Užívateľ
MySQL a diakritika

Registrovaný: 01.04.10
Prihlásený: 08.10.11
Príspevky: 339
Témy: 0 | 0
NapísalOffline : 01.04.2010 17:43 | MySQL a diakritika

Tak potom ti asi neviem poradit.
Ak to nie je nejaka dolezita DB, tak si ju proste zalohuj (sprav export), celu ju vydropuj a vytvor znova tabulky s tym, ze tam das ten utf8_slovak_ci a uvidis, ci pomohlo alebo nie :)

Myslim ze to collate ide aj "za jazdy" ale mne sa to neosvedcilo.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0 | 0
NapísalOffline : 02.04.2010 0:39 | MySQL a diakritika

Práva som to skúšal (údaje som vkladal a aj hľadal pomocou phpmyadmin) a funguje to dobre.
Zend_Db si asi nepoužíval cez phpmyadmin takže ak nenapíšeš, čo presne robíš (ako si tam tie údaje vkladal, či sa dobre zobrazujú v phpmyadmin...) tak ti asi nikto neporadí (lebo REGEXP nemá s diakritikou problémy).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.06.07
Prihlásený: 26.11.19
Príspevky: 69
Témy: 40 | 40
Napísal autor témyOffline : 02.04.2010 9:28 | MySQL a diakritika

No nakoniec bol problem v tom ze som si vobec nevsimol este jednu podmienku :) ktora sa viazala prave na tie zaznamy - teda tie s tymi Ň, Ž Á a pod. Kazdopadne ked som tu podmienku odstranil tak to uz islo uplne v pohode.
Dakujem aj tak za rady - skoda len ze som sa nepozrel poriadne na query :cry:
Este raz vdaka


Offline

Užívateľ
Užívateľ
MySQL a diakritika

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 02.04.2010 10:37 | MySQL a diakritika

Môžeš tú podmienku trochu opísať, nech z toho aj ja niečo mám, okrem toho, že viem, že to dobre dopadlo?


 [ Príspevkov: 11 ] 


MySQL a diakritika



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika v MySQL

v Databázy

1

455

18.11.2013 0:49

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

diakritika v MySQL (zase...)

v Databázy

8

778

09.04.2010 9:19

max-m

V tomto fóre nie sú ďalšie neprečítané témy.

mySql diakritika v bunke

v Databázy

13

1354

26.07.2009 15:34

Snacker

V tomto fóre nie sú ďalšie neprečítané témy.

Delphi a MySQL diakritika

v Delphi, Visual Basic

6

951

06.07.2010 11:28

Manny

V tomto fóre nie sú ďalšie neprečítané témy.

XAMPP, MySQL 4.x a 5.x, konverzia, diakritika

v Databázy

5

4588

30.11.2006 17:44

mikybb

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v HTML, XHTML, XML, CSS

6

968

25.04.2007 16:54

p360t

V tomto fóre nie sú ďalšie neprečítané témy.

diakritika

v HTML, XHTML, XML, CSS

9

1180

18.08.2010 9:50

locksmith

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v Ostatné

8

842

22.10.2010 22:10

Rammstein

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v Redakčné systémy

19

1529

06.05.2007 10:54

p360t

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v Databázy

11

1151

30.08.2009 20:30

bmatias

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v Databázy

2

790

30.03.2009 22:22

22adamko

V tomto fóre nie sú ďalšie neprečítané témy.

diakritika

v HTML, XHTML, XML, CSS

13

776

01.12.2010 14:18

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v HTML, XHTML, XML, CSS

13

874

03.12.2008 14:12

exoomer

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v HTML, XHTML, XML, CSS

1

536

25.10.2009 20:58

don jebot

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v Delphi, Visual Basic

1

809

05.05.2009 20:20

programator

V tomto fóre nie sú ďalšie neprečítané témy.

WP - diakritika

v Redakčné systémy

15

875

23.09.2013 8:04

don jebot



© 2005 - 2024 PCforum, edited by JanoF