Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Charset e db

  1. #1
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202

    Charset e db

    ciao a tutti,

    Proprio non riesco a capire

    allora ho un form che invia un file..
    prelevo il nome file e identifico il charset con mb_detect_encoding e mi restituisce UTF-8.
    Lo sparo nel db cosi com'è.
    Il db è mysql La tabella è codificata con utf8_general_ci così come il campo.

    Le interrogo il db da shell mostrandomi il campo la à la vedo come A con la tilde Ã.

    Se stampo il campo nella pagina .php ottengo la à corretta.
    All'inizio della pagina ho header('Content-Type: text/html; charset=utf-8');

    se da phpmyadmin modifico à con è su shell e phpmyadmin la vedo corretta.
    Se la stampo sulla pagina vedo il doppio quadratino....

    Cosa diavolo ho dimenticato di settare a utf-8.

    Grazie mille
    ciao
    ciao
    Che mestiere difficile.....essere da soli ancora di più

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Anche il charset della connessione al DB deve essere coerente.

    mysql_set_charset(...) da usare subito dopo aver selezionato il db.

  3. #3
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    Ma che cazzzzzzz..... li sto odiando questi charset.... grazie mille domani appena arrivo in ufficio provo e ti dico
    Che mestiere difficile.....essere da soli ancora di più

  4. #4
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    ottimo, funziona tutto alla perfezzione.
    Che mestiere difficile.....essere da soli ancora di più

  5. #5
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    piccola curiosità....

    Il file che genero poi lo spedisco al client in download..
    Prelevo in nome file dal db codificato con utf-8

    Se vado a settare l'header in questo modo i caratteri accentati non li vedo
    header('Content-Type: application/vnd.ms-excel; charset=utf-8');
    header('Content-Disposition: attachment;filename="'.$name_file.'"');

    si al contrario faccio in questo modo :

    $name_file = iconv("UTF-8", "ISO-8859-1", $name_file);

    // redirect output to client browser
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="'.$name_file.'"');

    Li vedo correttamente.

    Ok funziona, ma non capisco il perchè nel primo modo non debba funzionare...
    Che mestiere difficile.....essere da soli ancora di più

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.