Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    451

    [MySQL] Problema ricerca con accento

    Salve ho una table dove sono contenuti delle parole accentate, il problema è nella ricerca ma quando ricavo i dati via $_GET.

    Allora, ammettiamo per caso che abbiamo la parola libertà quando vado a creare l'url diventa

    www.nomesito.it/liberta

    ora se richiamo la parola via $_GET e provo a fare una ricerca nel db la parola non viene trovata logicamente, allora mi chiedevo se era possibile far fare una ricerca a mysql senza che tenesse conto di questa differenza.

    Prima non avevo questo problema visto che il charset usato era diverso e nel db veniva memorizzato con la parola "libertà" e allora anche se cercavo "liberta" senza accento mysql lo trovava lo stesso, ora invece è diventata "libertÃ" e sarei costretto a passare come url

    www.nomesito.it/libertà

    ma proprio non mi piace un url così.

    Sia il sito che mysql è tutto sotto UTF-8

    C'è una soluzione?

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Salve ho una table dove sono contenuti delle parole accentate, il problema è nella ricerca ma quando ricavo i dati via $_GET.
    Be come parametri che passi, li passi all'interno di variabili di tipo $_GET, $_POST.
    E come si sa, le variabili non possono avere lettere accentate e neanche url li ho mai visti accentati.

    Cioè il valore che passi può essere una stringa che contiene caratteri accentati.

    Scusa quale tipo di estensione UTF-8 è impostato il tuo database?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    451
    Ho impostato "utf8_general_ci", ma il problema è il contrario.

    Io tramite $_GET ricavo una key senza la parola accentata e nel db invece me la ritrovo accentata, quando vado a fare la ricerca non mi trova nessun record, perchè nella variabile $_GET mi trovo "liberta" invece nel db è memorizzato come "libertÃ".

    Ora visto che non saprò mai in anticipo che lettera sarà mai accentata mi trovo con un bel problema.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Non so che linguaggio tu stia usando ma io con java facevo così:

    codice:
    String url = request.getParameter("titolo");
    
    url = url.replace(" \' ", " \\' ");

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    url=url.replace(" \' ", " \\' ");

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    451
    Ma io non ho il problema dell'apostrofo ho il problema dell'accendo

    se prendo l'url

    www.sito.it/liberta

    recupero la key e la inserisco in una query

    codice:
    SELECT * FROM html.it WHERE key = 'liberta'
    Non mi trova nulla, ma se faccio la ricerca

    codice:
    SELECT * FROM html.it WHERE key = 'libertÃ'
    logicamente mi trova il risultato, il problema e come risolvere questo grande problema visto che non potrò mai sapere se è una key accentata o no

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Originariamente inviato da [_Kilckk_]
    Ma io non ho il problema dell'apostrofo ho il problema dell'accendo
    Mi funzionava con tutto non solo con l'apostrofo

  8. #8
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    @[_Kilckk_]
    Ma io non ho il problema dell'apostrofo ho il problema dell'accendo se prendo l'url
    Hai controllato che anche la tabella di quel database dove fai la tua select abbia impostato "utf8_general_ci".
    Stai lavorando in localhost?

    @Uccio87
    Mi funzionava con tutto non solo con l'apostrofo
    Scusa cosa vuol dire mi funziona con tutto? Non sembra un'affermazione troppo generale?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Originariamente inviato da Ironmax
    Scusa cosa vuol dire mi funziona con tutto? Non sembra un'affermazione troppo generale?
    Che non funziona solamente con gli apostrofi ma anche con gli accenti!

  10. #10
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Che non funziona solamente con gli apostrofi ma anche con gli accenti!
    Quindi apostrofo o l'accento è la stessa cosa?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.