Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittá del Messico (Messico)
    Messaggi
    610

    mysql select UTF8 non funziona

    io vivo in Messico e in pratica la lingua spagnola utilizza molti accenti e per questo utilizzo il database MYSQL in utf8 (creo il DB in UTF8), per quanto riguarda insert di record tutto bene ma oggi ho un problema non riesco ad eseguire in nessuno modo una select con un campo con accenti:

    ///////////////////
    .....
    $name_upload = $_GET['valore']; //valore passato méxico
    $name_upload = utf8_decode($name_upload); // forzo il valore in utf-8 se lo stampo é méxico.
    "SELECT * FROM config_upload WHERE name_upload = '$name_upload'";
    //////////////////

    il risultato é sempre 0 record

    ho capito che il problema é che non converte bene il valore in utf8 cioé se non uso utf8_decode passa caratteri strani alla select se lo uso passa un valore apparentemente corretto (méxico) ma alla fine non fa la comparazione bene nella select perché?

    non é un problema di sql cioé utilizzo $conn->set_charset('utf8'); ed il formato passato é utf8 corretto, se passo la select con phpmyadmin mi da bene il risultato.

    Grazie.
    M.Solazzi
    from
    Mexico City!!

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Quella dei charset è una questione storica.

    Quello che deve collimare sono il charset con cui comunica il DB e mi sembra che lo fai, il charset di DB e tabelle (la collation), il charset della pagina html definito nei meta tag, il charset con cui hai salvato i tuoi documenti/script.

    Penso di non aver dimenticato nessuno. Tutti questi devono essere settati allo stesso modo altrimenti quando meno te lo aspetti saltano fuori casini

  3. #3
    hai provato a farti stampare a video la query senza eseguirla?
    ovvero
    Codice PHP:
    $sql "SELECT * FROM config_upload WHERE name_upload = '$name_upload'";
    echo 
    $sql
    non vorrei che la stringa di ricerca fosse letteralmente '$name_upload'..
    io la scriverei così
    Codice PHP:
    $sql "SELECT * FROM config_upload WHERE name_upload = '".$name_upload."'";
    //oppure '{$name_upload}' 
    ciao
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    residenza
    Cittá del Messico (Messico)
    Messaggi
    610
    no fidati.. mi sto impazzendo da 2 giorni cioé la sql la invia bene con l'accento corretto. non so come risolvere
    M.Solazzi
    from
    Mexico City!!

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.