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

    [php - mysql] charset e carattere €

    Ho un problema con delle variabile $_POST

    Nello specifico quando cerco di salvare su una tabella db il carattere euro € mi inserisce ? non lo riconosce.

    Ho gia' provato a settare nell'header

    header("Content-type: text/html; charset=ISO-8859-1");

    e

    header("Content-type: text/html; charset=ISO-8859-15");

    ho provato anche con utf-8 ma nulla

    so due giorni che ci sbatto su sta cosa

  2. #2
    Sarebbe di aiuto conoscere le versioni del php e di mysql. Sapere se con phpmyadmin funziona oppure no... Eventualmente anche la stampa di $_POST.

    codice:
    echo "<pre>";
    print_r($_POST);
    per il carattere € HTML vorrebbe il charset=ISO-8859-15. ma questo non conta piu' di tanto tra php e mysql. Potrebbe essere la connessione tra php e mysql con, per es: connessione client su php latin1 e charset utf8 sul server mysql. In questo caso dovresti trovare incongruenza anche con altri caratteri > ascii 127

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

  3. #3
    se inserisco € con un cliente mysql (heidysql o navicat) me lo inserisce

    se faccio un print_r del post mi restituisce un carattere strano

    il post inoltre arriva tramite una chiamata ajax puo' essere qualche problema inerente alla richiesta ajax?

  4. #4
    Originariamente inviato da \\Lup3n
    se inserisco € con un cliente mysql (heidysql o navicat) me lo inserisce

    se faccio un print_r del post mi restituisce un carattere strano

    il post inoltre arriva tramite una chiamata ajax puo' essere qualche problema inerente alla richiesta ajax?
    se il carattere e' strano gia' dal POST non potra' che essere strano quando sara' inserito nel db.

    Prova ad inviare con un form classico (senza ajax) e saprai dove devi intervenire.

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

  5. #5
    Sono arrivato al punto che il post mi arriva correttamente:

    se faccio un print_r vedo il carattere correttamente €

    quando pero vado ad inserire la query si presenta così

    INSERT INTO `orders_products` .... ','MACCHINA CONTAMONETE PLUS CONTA MONETE E DIVIDE EURO €',...

    Che roba è € ?

  6. #6
    Originariamente inviato da \\Lup3n
    Sono arrivato al punto che il post mi arriva correttamente:

    se faccio un print_r vedo il carattere correttamente €

    quando pero vado ad inserire la query si presenta così

    INSERT INTO `orders_products` .... ','MACCHINA CONTAMONETE PLUS CONTA MONETE E DIVIDE EURO €',...

    Che roba è € ?
    devi impostare

    header("Content-type: text/html; charset=ISO-8859-15");

    poi prova a convertire il carattere in entita' html. sarebbe &euro ; (senza lo spazio prima del

    usa htmlentities() sulla stringa che contiene &euro; .

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

  7. #7
    devi impostare header("Content-type: text/html; charset=ISO-8859-15");
    Già fatto ma nulla!

    E neanche htmlentities non mi funziona

  8. #8
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    usa sempre UTF-8 e vai sul sicuro, controlla:

    - il codice html sia UTF-8
    - le tabelle e i campi del DB siano in UTF-8
    - la codifica di qualsiasi pagina sia UTF-8 (editor come geany ti permettono di cambiarla)
    - implementa l'utilizzo di utf8_decode e utf8_encode
    - se utlizzi mysqli usa mysqli_set_charset($connessione_db, "utf8");

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.