Select à con query MySQL

lunedì 15 dicembre 2008 - 14.49

ojalà Profilo | Newbie

Ciao!
devo eseguire una query che mi recuperi dalla tabella documenti tutti i titoli che contengono il carattere à nel testo.
Ho usato una select con like del tipo:

select * from documenti where titolo like '%Ã%'

ma mi estrae tutte le A(a maiuscole senza tilde). Io ho bisogno di fare una ricerca particolare solo per le Ã. come si fa?
Grazie!

lbenaglia Profilo | Guru

>devo eseguire una query che mi recuperi dalla tabella documenti
>tutti i titoli che contengono il carattere à nel testo.
>Ho usato una select con like del tipo:
>
>select * from documenti where titolo like '%Ã%'
>
>ma mi estrae tutte le A(a maiuscole senza tilde). Io ho bisogno
>di fare una ricerca particolare solo per le Ã. come si fa?

Ciao,

Non conosco MySQL ma probabilmente si tratta di un problema di collation.
Quale collation hai definito per quella colonna?
Se non puoi modificarla hai provato a specificarne una adatta (che contenga quella lettera dell'alfabeto) in fase di SELECT tramite la funzione COLLATE?
http://dev.mysql.com/doc/refman/5.0/en/charset-collate.html

>Grazie!
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

alx_81 Profilo | Guru

>Ciao!
Ciao!

>devo eseguire una query che mi recuperi dalla tabella documenti
>tutti i titoli che contengono il carattere à nel testo.
>Ho usato una select con like del tipo:
>select * from documenti where titolo like '%Ã%'
>ma mi estrae tutte le A(a maiuscole senza tilde). Io ho bisogno
>di fare una ricerca particolare solo per le Ã. come si fa?
Non conosco molto bene MySQL, ma hai provato ad usare le funzioni stringa?
http://dev.mysql.com/doc/refman/5.1/en/string-functions.html

Magari con una ASCII() riesci ad ottenere il char da cercare e puoi controllare se esiste in una particolare stringa.

Credo che però il problema sia della collation..
http://database.html.it/guide/lezione/2445/i-set-di-caratteri/
http://dev.mysql.com/doc/refman/5.1/en/charset-mysql.html

e poi
http://dev.mysql.com/doc/refman/5.1/en/charset-collations.html

questo ti fa degli esempi migliori
http://dev.mysql.com/doc/refman/5.1/en/charset-collate.html

secondo me è impostata una collation che non ti fa distinzioni sulle operazioni di match di questo tipo. In tal caso prova a leggere i link per capire se possono risolverti il problema.

>Grazie!
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

alx_81 Profilo | Guru

scusate avevo il post aperto da mezz'ora e non riuscivo a salvarlo
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

ojalà Profilo | Newbie

ok, grazie a tutti!
vi spiego quello che ho fatto:
ho cambiato la collation della tabella da utf8_general_ci a utf8_unicode_ci
poi ho fatto la query tipo:

select titolo from documenti where titolo like '%Ã%'

fino a ieri tutto bene..oggi però non va più nulla nel senso che come risultato della select mi vengono mostrate tutte le A maiuscole..
per favore potete darmi una mano?

Grazie!

lbenaglia Profilo | Guru

>fino a ieri tutto bene..oggi però non va più nulla
Cos'hai cambiato tra ieri e oggi? "Niente" non è una risposta valida

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

ojalà Profilo | Newbie

In realtà ho ricaricato la tabella originale, con utf8_general_ci, ho modificato la collation in utf8_unicode_ci e ho rifatto tutte le query con gli update x eliminare i caratteri strani.. finchè indicavo caratteri da ricercare del tipo à(quindi con à assieme a qualche altro carattere particolare tutto ok) ma à semplice non la trova più.. nemmeno tà (quindi à assieme ad una lettera dell'alfabeto..)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5