LIKE / insensible à la casse et aux accents
Bonjour,
0/ Config :
MySQL 5.1.30
INNODB
Code:
1 2 3 4 5 6 7 8 9
|
SELECT @@character_set_server, @@collation_server;
=> utf8, utf8_general_ci
SELECT @@character_set_database;
=> utf8
SHOW FULL COLUMNS FROM MA_TABLE;
Tous les champs "texte" sont en varchar(XX) et utf8_general_ci |
1/ Questions :
-A- J'ai lu qu'avec l'utf8 le varchar était préférable ?
Ai je mal compris ?
-B- Expr à trouver dans CLi_INTIT de MA_TABLE : LOOÏ
Code:
1 2 3 4 5
| SELECT CLI_INTIT FROM MA_TABLE WHERE CLI_INTIT LIKE '%looÏ%' =>ok
SELECT CLI_INTIT FROM MA_TABLE WHERE CLI_INTIT LIKE '%LOOÏ%' =>ok
SELECT CLI_INTIT FROM MA_TABLE WHERE CLI_INTIT LIKE '%looi%' => not ok
SELECT CLI_INTIT FROM MA_TABLE WHERE CLI_INTIT LIKE '%looï%' => not ok |
J'ai l'impression que c'est les param de la conn client qui mettent le binz
-C- Test selon doc ANTOUN :
Requete Via ASP VBScript
DRIVER={MySQL ODBC 3.51 Driver};
SQLStr = formate les chaines (' => '')
sKW = mot clef à rechercher.
Code:
1 2 3 4 5
| sSQL="SELECT
CHARSET(CLI_INTIT) AS T1, COLLATION(CLI_INTIT) AS T2,
CHARSET(" & SQLStr(sKW) & " ) AS T3,
COLLATION(" & SQLStr(sKW) & " ) AS T4
FROM MA_TABLE LIMIT 1 ;" |
J'ai :
T1=utf8
T2=utf8_general_ci
T3=latin1
T4=latin1_swedish_ci
A mon avis, ça vient de l'ASP :
Response.Charset="utf-8"
Session.LCID=1033
Comment faire pour passer de T3=latin1, T4=latin1_swedish_ci
vers T1=utf8, T2=utf8_general_ci ?
----------------------
J'en perds mon latin1 ;)
Pourriez vous m'aider svp ?
Merci