Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema lettere accentate

    Salve, sto realizzando delle pagine PHP e, non avendo ancora implementato un pannello di amministrazione per browser, sto inserendo i valori delle variabili direttamente nelle tabelle del database.
    Mi succede che su browser le lettere accentate (che continuo a vedere bene nelle celle della tabella del db) si vedano male, sostituite dal noto "carattere" di punto interrogativo dentro un rombo nero.
    Le pagine hanno <!doctype html> e <meta charset="utf-8">, immagino di dover sistemare la codifica caratteri del database, ma con cosa di preciso? Attualmente è latin1_swedish_ci, ma di utf-8 ce ne sono svariati e vorrei assicurarmi che i testi si vedano bene sempre...
    Allego immagine del problema a schermo, presente su tutti i browser.
    Appunti02.jpg
    Ultima modifica di Gas75; 22-07-2019 a 13:04

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Leggi la discussione in rilievo sui caratteri strani.
    Come charset UTF8_general_ci dovrebbe andare bene.

  3. #3
    Purtroppo utf8_general_ci non va bene, li sto provando un po' tutti gli utf8 ma è come se non cambiassi nulla.
    Mi leggo la discussione suggerita, grazie.

  4. #4
    Ciao,
    l'importante è che tutto sia "d'accordo";
    - la codifica con cui hai salvato il sorgente html (operazione che esegui dal tuo editor di testo)
    - la codifica che viene trasmessa al browser per la gestione dei caratteri (va bene il tuo meta utf8, aggiungi anche un
    Codice PHP:
    header('Content-type: text/html; charset=utf-8'); 
    - la codifica che viene richiesta al database (quando esegui la query di connessione al database, invia questi due comandi):
    codice:
    SET NAMES 'utf8'
    SET CHARACTER SET 'utf8'
    Pensate i programmi a librerie, e innalzate il livello d'astrazione

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2018
    Messaggi
    1
    Avevo lo stesso problema con dei miei vecchi siti... ho dovuto giocarci per almeno 5 giorni prima di capire bene come fare... cmq come dice Infocurci... tutto (ma tutto) deve essere tutto codificato in UTF-8.

    Quindi verifica che:
    1) L'editor che usi per scrivere il codice deve utilizzare la codifica utf-8, ad esempio se usi visual studio code nelle impostazioni cerca "Encoding" di default dovrebbe essere cmq utf-8.

    2) Ogni tabella del db sia codificata come "utf8mb4_unicode_ci" (io uso questa) e ogni campo che contiene caratteri sia codificato con utf8mb4_unicode_ci. Se devi sostituire la codifica attuale (credo latin1) con quella utf8 nelle tabelle fatti prima una copia, infatti capita che alcuni caratteri, quelli che ti danno problemi, vengano interpretati male e quindi non ricodificati correttamente.

    3) Subito dopo che fai la connessione al db, specifica che la codifica deve essere uft8, prima di fare altre query. Ad esempio:
    $mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name, $db_port);
    $mysqli->set_charset("utf8");

    4) La pagina html deve contenere il tag <meta charset="utf-8">.

    5) Se usi classi esterne (esmpio invio email), gestisci la codifica. Io avevo il problema anche durante l'invio dell'email.

    6) Se editor di testo WYSIWYG per i campi <text> di un form che questi usino la codifica UFT-8

    In pratica devono "scrivere e leggere tutti la stessa lingua" :-)

    Se non fai tutti questi passi il problema non lo risolvi. Ho provato funzioni php per cambiare la codifica, ho profato ad usare HTML Code per i caratteri accentati... le ho provate tutte... ma ho trovato solo questa soluzione.

    Nei vecchi progetti, da ignorante, non consideravo la codifica o almeno lasciavo tutto in default... oggi da ignorante evoluto come prima cosa vedo la codifica.
    Mi sa che anche questo forum ha dei problemi.
    Ultima modifica di PepVeg; 29-07-2019 a 14:12 Motivo: errori di scrittura

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.