Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    2

    [MySql] Problema query con caratteri accentati

    Ciao a tutti.
    Ho uno strano problema.
    In pratica sto lavorando su un database già esistente, con collation uft8_general_ci.
    Cerco di spiegarvi un pò meglio cosa succede.
    Popolo una select con nomi di calciatori presenti nel db, scelgo quello che mi serve e lo uso per generare una query a più tabelle.
    Prima avevo il problema che i cognomi che contenevano accenti, come Andùjar, nella select mi apparivano con uno strano simbolo al posto delle lettere accentate.
    Questo problema l'ho risolto con htmlentities($cognome).
    Adesso nonostate la query che eseguo sembri corretta non mi trova nessuna corrispondenza nel db.
    Facendola stampare a video mi restituisce questo:

    codice:
    SELECT `jos_bl_players`.`id`,`jos_bl_players`.`first_name`,`jos_bl_players`.`last_name`, 
    `jos_bl_positions`.`p_name`,`jos_bl_teams`.`t_name` FROM 
    `jos_bl_players`,`jos_bl_positions`,`jos_bl_teams` WHERE 
    `jos_bl_players`.`last_name`="Andùjar" and 
    `jos_bl_positions`.`p_id`=`jos_bl_players`.`position_id` and 
    `jos_bl_teams`.`id`=`jos_bl_players`.`team_id`
    Se la eseguo da phpmyadmin mi restituisce le info che cerco e questa cosa mi sta facendo impazzire
    Spero di essere stato chiaro, e mi scuso se mi sono dilungato troppo.
    Dove sbaglio?

    Grazie a tutti.

  2. #2
    Andùjar

    potrebbe essere che se tu metti il nome Andùjar con l'entita' html non trovi la corrispondenza con il nome Andùjar ascii.

    Probabilmente il client mysql su php usa un diverso character set per la connessione sul tuo script mentre phpmyadmin imposta da se la connessione come utf8. prova a settare diversamente la connessione del tuo script oppure passa la stringa di ricerca a htmlentities allo stesso modo con cui la valuti per l'inserimento

    per settare a utf8 la tua connessione prova ad eseguire (dopo mysql_connect):

    mysql_query("SET NAMES 'utf8' ");

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    2
    Originariamente inviato da piero.mac
    Andùjar

    potrebbe essere che se tu metti il nome Andùjar con l'entita' html non trovi la corrispondenza con il nome Andùjar ascii.

    Probabilmente il client mysql su php usa un diverso character set per la connessione sul tuo script mentre phpmyadmin imposta da se la connessione come utf8. prova a settare diversamente la connessione del tuo script oppure passa la stringa di ricerca a htmlentities allo stesso modo con cui la valuti per l'inserimento

    per settare a utf8 la tua connessione prova ad eseguire (dopo mysql_connect):

    mysql_query("SET NAMES 'utf8' ");
    Grazie mille, sei un grande
    Avevo gia' provato a passare la query tramite htmlentities senza risultati, ma settando la connessione ha funzionato.
    Ancora grazie!!!

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.