Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Charset Php e MySQL

  1. #1

    Charset Php e MySQL

    Devo inserire una serie di dati un un database. Sia il file Php che il database MySQL sono codificati in UTF8 ma al momento dell'inserimento i caratteri accentati impazziscono... ho provato con addslash, htmlentities, utf encode etc... ma non riesco a risolvere

    Codice PHP:
    $a['testo'][] = "sentimento dell'assurdità";
    $a['testo'][] = "testo 2";
    $a['testo'][] = "testo 3";

    $n count($a['testo']);

    $values '';

    for(
    $x=0;$x<$n;$x++) {
        
    $testo$a['testo'][$x];
        
    $values .= "('', '$testo')";
        if(
    $x<$n-1){ $values .= ', '; }
    }

    $query mysql_query("INSERT INTO testi (id, testo) VALUES $values;") or die(mysql_error());

    if(
    $query) echo 'query eseguita'
    Qualcuno riesce a capire il problema?
    Fabzine.it: Il blog italiano sulla digital fabrication

  2. #2
    Ciao,
    potrebbe essere un problema di codifica della connessione... comunque ti consiglio di dare una lettura a questo articolo, ti chiarirà le idee
    http://www.zago-dev.net/appunti/prog...set-utf-8.html
    =======================
    http://www.abidibo.net

  3. #3
    Grazie Abidibo,
    ho cambiato il charset di default in php.ini che in effetti era un iso.. ma non è cambiato nulla.

    Con la query: SHOW VARIABLES LIKE 'character_set_database' mi restituisce UTF8....
    Fabzine.it: Il blog italiano sulla digital fabrication

  4. #4
    Nessuno sa dirmi qual'è il problema?
    Fabzine.it: Il blog italiano sulla digital fabrication

  5. #5
    ma questa parte l'hai messa?
    codice:
    // Make sure any results we retrieve or commands we send use the same charset and collation as the database: 
    $db_charset = mysql_query( "SHOW VARIABLES LIKE 'character_set_database'" ); 
    $charset_row = mysql_fetch_assoc( $db_charset ); 
    mysql_query( "SET NAMES '" . $charset_row['Value'] . "'" ); 
    unset( $db_charset, $charset_row );
    ... ed hai inserito queste 2 linee nel my.cnf di mysql?
    codice:
    character-set-server=utf8
    default-collation=utf8_unicode_ci
    =======================
    http://www.abidibo.net

  6. #6
    Funziona! Bastava mettere mysql_query("SET NAMES utf8"); prima di selezionare il database....

    Grazie mille
    Fabzine.it: Il blog italiano sulla digital fabrication

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.