ugrás a tartalomhoz

MySQL-ben az ékezetes karakterek kis és nagybetűs formája nem ugyanaz LIKE-nál

Anonymous · 2006. Jún. 8. (Cs), 10.40
Üdv!

Lenne egy kérdésem:

Mysql-ben keresek like-al
pl. az van egy sor-ban a quests_name_hu táblában:
Az Új Fenyegetés

és keresek like %Új% így jó is megtalálja de ha így keresek hogy %új% akkor nem találja meg de ha %ÚJ% akkor igen de ha %úJ% akkor sem jó, mert az ékezetes karakterek különböüznek ha kis vagy nagy betüsek gondolom én...

Ezt hopgy oldhatom meg merzt nem mindeki tuja h pl. az új.-t nagy betűvel kell írni...


Előre is kössz...
 
1

Hibás egybevetés

Poetro · 2006. Jún. 8. (Cs), 13.47
Ha MySQL 4.1 vagy újabb verziót használsz, akkor a nyelvnek megfelelő collation (egybevetés) értéket kell megadni a mezőre, ami UTF-8 esetén utf8_hungarian_ci, ha ez nem elérhető, akkor utf8_general_ci, latin2 esetén pedig latin2_hungarian_ci.
2

ok, kössz, de hogy is?

Anonymous · 2006. Jún. 8. (Cs), 14.15
ok, kössz....
5-ös van...
és hogy kell egybevetés adni?
pl.: CREATA TABLE quests
és akkor itt mi?
uft-8t használok
3

Példa

Poetro · 2006. Jún. 8. (Cs), 15.13
CREATE TABLE `quests` (
  `qid` int(11) unsigned NOT NULL default '0',
  `name` varchar(100) collate utf8_hungarian_ci NOT NULL default '',
  PRIMARY KEY  (`qid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
4

Jó!!!!, de Más hiba jött elő:(

Anonymous · 2006. Jún. 8. (Cs), 18.22
Üdv!

Kössz a segítséget..., de sajnos még a problémám fenn álll:(

UTF-8-ban van írva a kódom
a böngésző is annak látja
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
header('Content-Type: text/html; charset=UTF-8');

Ezeket mind használom az adatbázisom és a tábláim is utf8-ban vannak.
utf8_general_ci-ben az oszlopok...

Mikor felvan véve az "Az Új Fenyegetés"
nem talál semmit az "új"-ra de az "ÚJ" vagy az "Új"-ra már igen.

tehát foglamam sincs mi a gond...

Egyébként: Ha a kereső mezőbe csak "Ú"-t írok akkor egy fekete, elforgatott
négyzetben egy fehér kérdőjelet látok, ami arra utal hogy nem ismeri fel a karakkter, de ha mögé írok monjuk egy betűt akkor ez a karakter eltűnik, ez ugyebár akkor szokott jelentkezni ha mondjuk nem utf-8ban írunk de a böngészőben arra állítjuk a karakterkódolást. (Firefox-ot használok)

mysql_query("SET NAMES 'utf8'", $connect);

de ezt ki próbáltam és jó lett minden....

de ha csak egy "Ú" írok akkor továbbra sem talál semmit, és ott az a hülye karakter jel...

szerintetek ez mi lehet? (pl.: az "É"-nél illen nincs, van: "Ű", "A", "Ó" és ennyi).

De most nézem ha ezt beírom: "sadeéűúŰÚÜÖÓ" akkor az "Ó"-t arra cseréli ki.
és mindig csak az utolsót, de ha nem, nem is tudom hogy működik ez...:(
5

egyébb.......

Anonymous · 2006. Jún. 9. (P), 23.06
egyébb ötlet?

valaki?

:(