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

    Form in PHP con caratteri in POLACCO

    Salve,
    sto cercando di adattare un semplice form di adesione in PHP che saqlva i dati in un DB MySql per l'utilizzo in Polacco.
    Il problema è che i caratteri speciali vengono salvati nella tabella con "?" punti di domanda (se tolgo la stringa "$post = utf8_decode($post);", vengono codificati con caratteri diversi "szkoÅ‚y", in realtà sarebbe "szkół")
    Anche la tabella e il DB sono utf8_general_ci, ma sembra che l'errore sia nell'invio dei dati. Ho provato diverse decodifiche, ma non trovo una soluzione.
    I dati arrivano e vengono salvati nella tabella, ma sono illeggibili per i caratteri polacchi speciali.
    Grazie

    Questo il codice per l'invio dati del form:
    <?php
    $DB = new mysqli("localhost" , "xxx" , "xxx" , "xxx");
    $stato = false;
    if(isset($_POST["field_input_data"])):

    $k = "(";
    $val = "(";
    foreach($_POST as $key => $post){

    if(strpos($key,"field_input_")!==FALSE){

    if($key != "field_input_informativa") {
    $post = utf8_decode($post);
    $post = addslashes($post);
    $val .= "'$post',";
    $k .= "$key,";
    }

    }

    }
    $k = substr($k,0,-1);
    $val = substr($val,0,-1);
    $k .= ")";
    $val .= ")";
    $sql = "INSERT INTO tb_form $k VALUES $val";
    $ins = $DB->query($sql);
    if($ins) $stato = true;
    else echo $DB->error;
    endif;
    ?>
    Nemo

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Leggi il link che ho in firma sui caratteri strani.

  3. #3
    Grazie, avevo provveduto a normalizzare ogni db, tabella e form con la stessa decodifica, ma qualcosa mi sfugge, perché continuo a non vedere i caratteri correttamente; il codice postato è completo e corretto? o è li che sbaglio qualcosa?
    Grazie, ciao.
    Nemo

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Hai letto per bene l'articolo che ti ho indicato? C'è scritto che devi anche definire il charset della connessione al db, non mi pare che tu lo faccia dal codice che mostri.

    Riverifica tutto ciò che è indicato nell'articolo, anche i charset dei file.

    Se usi UTF8 in tutte le parti, utf8_decode() non è necessario e magari se lo usi su testo già correttamente impostato ti crea problemi proprio quello.

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.