Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Codifica caratteri

  1. #1

    Codifica caratteri

    Salve a tutti, ho un problema, prelevo dei dati da un file csv, lo inserisco nel database utilizzando questa funzione:

    utf8_encode($str);

    In questo modo inserisco i caratteri utf8 nel database che ha questa codifica utf8_general_ci

    Fin qui tutto ok, il problema sorge quando devo prelevare questi dati dal database, poichè quando prelevo i dati dal database eseguo questa funzione:


    utf8_decode($str);

    in questo modo setta tutto correttamente (ovvero lettere accentate), tranne gli apici, in quanto se c'è scritto "all'ultima volta", l'apostrofo mi compare scritto in un modo incomprensibile.

    Quindi come potrei risolvere?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Il problema è solamente su quel singolo carattere? Sennò ti basta un replace

  3. #3
    Sembra di si, però non vorrei incorrere in altri errori di questo tipo.

  4. #4
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Oddio il replace mi sembra una toppa

    Devi fare un piccolo controllo che la collation del database sia UTF-8, che le tabelle siano in UTF-8, che l'html sia in UTF-8.

    Che il file php sia in UTF-8 e via discorrendo. Il csv potrebbe arrivare da fonti diverse suppongo, quindi non è detto che sia in UTF-8, quindi è corretto che lo normalizzi, ma una volta normalizzato non serve decodificarlo perché se la pagina che vai a visualizzare è in UTF-8 vedrai tutto correttamente.

    Un accorgimento che può tornare utile è eseguire subito dopo la connessione al database

    codice:
    SET NAMES 'utf8'
    http://dev.mysql.com/doc/refman/5.0/...onnection.html

    Può sembrare strano, ma se si entra nell'ottica che il charset sia univoco per tutte le fonti utilizzate si va via spediti.

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.