Kom ihåg mig?
Home Menu

Menu


MySQL sökningar med lite mera udda tecken

Ämnesverktyg Visningsalternativ
Oläst 2005-05-23, 11:10 #1
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Har tvingats kliva in i MySQL-träsket (hehe) pga val av webhotell och har en liten snabb fråga:

Hur hanterar MySQL exempelvis apostrofer, ansanger etc? (alltså typ é è)
Jag undrar då jag vet att folk exempelvis inte söker så ofta med sådana tecken (exempelvis Cafe istället för det riktiga Café).

Så, måste jag tvätta bort dessa tecken innan jag lagrar detta, eller klarar en select-sats i MySQL att matcha båda förekomsterna per automatik? Eller hur har ni löst det hela?
Robert är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-23, 11:18 #2
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Det beror på vad du väljer för collation när du lagrar datan helt enkelt, http://dev.mysql.com/doc/mysql/en/charset.html

Det skall fungera att söka direkt, default nuförtiden är dock UTF-8 (iaf på mina servrar), så det är bara att översätta alltihopa till UTF-8 så löser det biffen. Sen så buggar det satan ändå. :)
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-23, 11:22 #3
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
(Eller ja, UTF-8 blir det kanske av perls API eller nåt, det blir UTF-8 hela tiden iaf, men det gör oftast inte så mycket :)).
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-23, 11:27 #4
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Så, vad menar ni egentligen... =)

Datat ska vara sökbart i just denna tabell och om jag lagar ordet "Café" så ska det dyka upp om folk söker på "Cafe"... så sker detta per automatik om jag väljer rätt collation eller?
Robert är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-23, 13:42 #5
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Kod:
mysql> show create table test\G
*************************** 1. row ***************************
    Table: test
Create Table: CREATE TABLE `test` (
 `id` int(11) NOT NULL auto_increment,
 `title` varchar(255) default NULL,
 PRIMARY KEY (`id`)
) TYPE=MyISAM
1 row in set (0.00 sec)
Kod:
mysql> insert into test values(7,'café');
Query OK, 1 row affected (0.00 sec)

mysql> select * from test where title = 'cafe';
+----+-------+
| id | title |
+----+-------+
| 7 | café |
+----+-------+
1 row in set (0.00 sec)

mysql> select * from test where title like 'cafe'; 
+----+-------+
| id | title |
+----+-------+
| 7 | café |
+----+-------+
1 row in set (0.00 sec)
Kod:
mysql> show variables like '%char%'\G
*************************** 1. row ***************************
Variable_name: character_set
    Value: latin1
*************************** 2. row ***************************
Variable_name: character_sets
    Value: latin1 dec8 dos german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5
*************************** 3. row ***************************
Variable_name: convert_character_set
    Value: 
3 rows in set (0.00 sec)
Så, "ja".
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-23, 13:43 #6
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Dock: så fort man börjar bli lite seriös med sånt där, är det mycket enklare att använda utf8 och alltid konvertera sina strängar fram och tillbaka - html, mysql, php/perl/applikation stödjer det olika. UTF8 stödjs likadant överallt.
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-23, 19:34 #7
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Ok, får tacka för din hjälp. Låter bra det där. =)
Robert är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 14:52.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017