| FAQ |
| Kalender |
|
|
#1 | |||
|
||||
|
Klarade millennium-buggen
|
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? |
|||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Klarade millennium-buggen
|
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å. :) |
||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
Klarade millennium-buggen
|
(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 :)).
|
||
|
|
Svara med citat
|
|
|
#4 | |||
|
||||
|
Klarade millennium-buggen
|
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? |
|||
|
|
Svara med citat
|
|
|
#5 | ||
|
|||
|
Klarade millennium-buggen
|
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)
|
||
|
|
Svara med citat
|
|
|
#6 | ||
|
|||
|
Klarade millennium-buggen
|
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.
|
||
|
|
Svara med citat
|
|
|
#7 | |||
|
||||
|
Klarade millennium-buggen
|
Ok, får tacka för din hjälp. Låter bra det där. =)
|
|||
|
|
Svara med citat
|
| Svara |
| Ämnesverktyg | |
| Visningsalternativ | |
|
|