Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/05/2011, 08h41   #1
Invité de passage
 
Inscription : mai 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
Par défaut probleme de recherche avec caractere géorgien

Bonjour,
notre site est en géorgien et nous proposons un formulaire de recherche. Cependant, lorsque nous effectuons une recherche avec des caractères géorgiens, mysql ne retourne aucun résultat.
Nous avons aussi essayé depuis un script php et depuis phpMyAdmin, et le résultat et le même, aussi bien sur une requête en LIKE "%იყიდება%" que sur une requête en full text MATCH (Annonce_En_Langue_Titre, AEL0.Annonce_En_Langue_Texte) AGAINST ("იყიდება").

Sauriez vous à quoi cela peut être du ?

Y a t il un encodage spécial a utiliser pour que cela fonctionne ?

ci dessous la structure de notre table :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE IF NOT EXISTS `GeorgieAnnonce_En_Langue` (
  `Annonce_Id` varchar(20) NOT NULL DEFAULT '',
  `Langue_Id` int(10) UNSIGNED NOT NULL DEFAULT '0',
  `Annonce_En_Langue_Titre` text,
  `Annonce_En_Langue_Texte` text,
  `Annonce_En_Langue_Date_Validation` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`Annonce_Id`,`Langue_Id`),
  KEY `fk_GeorgieAnnonce_En_Langue_Annonce` (`Annonce_Id`),
  KEY `fk_GeorgieAnnonce_En_Langue_Langue` (`Langue_Id`),
  KEY `Annonce_En_Langue_Date_Validation` (`Annonce_En_Langue_Date_Validation`),
  FULLTEXT KEY `Annonce_En_Langue_Titre` (`Annonce_En_Langue_Titre`,`Annonce_En_Langue_Texte`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Merci
umbrosus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 10h28   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
MySQL gère très mal les collations et je pense que votre problème aura du mal à trouver une solution avec ce SGBDR.
tentez d'utiliser une collation générique de type UNICODE....

Sinon, utilisez un SGBDR qui sait traiter efficacement les collations, comme MS SQL Server qui permet d'utiliser 36 collations pour le géorgien :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Georgian_Modern_Sort_BIN	Georgian-Modern-Sort, BINARY sort
Georgian_Modern_Sort_BIN2	Georgian-Modern-Sort, BINARY code point comparison sort
Georgian_Modern_Sort_CI_AI	Georgian-Modern-Sort, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Georgian_Modern_Sort_CI_AI_WS	Georgian-Modern-Sort, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Georgian_Modern_Sort_CI_AI_KS	Georgian-Modern-Sort, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Georgian_Modern_Sort_CI_AI_KS_WS	Georgian-Modern-Sort, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Georgian_Modern_Sort_CI_AS	Georgian-Modern-Sort, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive
Georgian_Modern_Sort_CI_AS_WS	Georgian-Modern-Sort, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive
Georgian_Modern_Sort_CI_AS_KS	Georgian-Modern-Sort, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive
Georgian_Modern_Sort_CI_AS_KS_WS	Georgian-Modern-Sort, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive
Georgian_Modern_Sort_CS_AI	Georgian-Modern-Sort, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Georgian_Modern_Sort_CS_AI_WS	Georgian-Modern-Sort, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Georgian_Modern_Sort_CS_AI_KS	Georgian-Modern-Sort, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Georgian_Modern_Sort_CS_AI_KS_WS	Georgian-Modern-Sort, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Georgian_Modern_Sort_CS_AS	Georgian-Modern-Sort, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive
Georgian_Modern_Sort_CS_AS_WS	Georgian-Modern-Sort, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive
Georgian_Modern_Sort_CS_AS_KS	Georgian-Modern-Sort, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive
Georgian_Modern_Sort_CS_AS_KS_WS	Georgian-Modern-Sort, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive
Georgian_Modern_Sort_100_BIN	Georgian-Modern-Sort-100, BINARY sort
Georgian_Modern_Sort_100_BIN2	Georgian-Modern-Sort-100, BINARY code point comparison sort
Georgian_Modern_Sort_100_CI_AI	Georgian-Modern-Sort-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Georgian_Modern_Sort_100_CI_AI_WS	Georgian-Modern-Sort-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Georgian_Modern_Sort_100_CI_AI_KS	Georgian-Modern-Sort-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Georgian_Modern_Sort_100_CI_AI_KS_WS	Georgian-Modern-Sort-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Georgian_Modern_Sort_100_CI_AS	Georgian-Modern-Sort-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive
Georgian_Modern_Sort_100_CI_AS_WS	Georgian-Modern-Sort-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive
Georgian_Modern_Sort_100_CI_AS_KS	Georgian-Modern-Sort-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive
Georgian_Modern_Sort_100_CI_AS_KS_WS	Georgian-Modern-Sort-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive
Georgian_Modern_Sort_100_CS_AI	Georgian-Modern-Sort-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Georgian_Modern_Sort_100_CS_AI_WS	Georgian-Modern-Sort-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Georgian_Modern_Sort_100_CS_AI_KS	Georgian-Modern-Sort-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Georgian_Modern_Sort_100_CS_AI_KS_WS	Georgian-Modern-Sort-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Georgian_Modern_Sort_100_CS_AS	Georgian-Modern-Sort-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive
Georgian_Modern_Sort_100_CS_AS_WS	Georgian-Modern-Sort-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive
Georgian_Modern_Sort_100_CS_AS_KS	Georgian-Modern-Sort-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive
Georgian_Modern_Sort_100_CS_AS_KS_WS	Georgian-Modern-Sort-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 12h01   #3
Invité de passage
 
Inscription : mai 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
Merci pour votre réponse. Oui nous avions pensez utiliser unicode, mais cela ne marche pas a cause du FULL TEXT

Code :
ALTER TABLE `GeorgieAnnonce_En_Langue` CHANGE `Annonce_En_Langue_Texte` `Annonce_En_Langue_Texte` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL
MySQL a répondu:
Citation:
Documentation
#1283 - Column 'Annonce_En_Langue_Texte' cannot be part of FULLTEXT index
umbrosus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 16h45   #4
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Oui, c’est ce que je dénonce depuis des années : des fonctionnalités poudre aux yeux dans MySQL...
Lisez l’article que j'ai écrit sur la comparaisons du Full Text entre MySQL et SQL Server. C'est affligeant pour MySQL !
http://blog.developpez.com/sqlpro/p9...ext-search-no/
Lisez surtout la conclusion, vous allez vous reconnaître....
Donc, pas de solution avec MySQL.

Vous devez reconcevoir votre solution avec un autre SGBDR et malheureusement, PostGreSQL est encore loin de gérer correctement les collation, en particulier avec le Full Text façon PG (ts_vector...).
Bref, pas trop le choix à part MS SQL Server. Heureusement il existe une version gratuite, mais limitée à des bases de 10 Go (mais vous pouvez en faire plusieurs).

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2011, 01h04   #5
Invité de passage
 
Inscription : mai 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
merci pour ta réponse. Cela veut il dire qu'il n'y a pas la moindre solution avec mysql ? :-(
msserver est payant, donc impossible pour nous !
umbrosus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2011, 13h17   #6
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Il n'y a effectivement aucune solution pour ton problème avec MySQL...
SQL Server dispose d'une version gratuite permettant des bases de 10 Go (SQL Server Express 2008 R2).

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2011, 18h30   #7
Invité de passage
 
Inscription : mai 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
oki. mais mon hebergeur ne propose pas ce SGBD. Je vais donc testé avec postgreSQL, qui est de plus openSource ! Merci pour ton aide.
umbrosus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 11h40   #8
Invité de passage
 
Inscription : mai 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
j'ai finalement trouvé la cause de mon probleme et sa solution, il s'agissait d'un problème de double-encodage qui fut résolu en ajoutant simplement cette requete avant toute autre : plus d'info ici : http://forums.mysql.com/read.php?21,...885#msg-418885
umbrosus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h02.


 
 
 
 
Partenaires

Hébergement Web