Visualizzazione risultati 1 fino 3 di 3

Discussione: PDO non imposta il proprio character

  1. #1
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito PDO non imposta il proprio character

    Come da titolo trovo problemi a impostare PDO in utf-8, qualunque aiuto e ben accetto. Nota* solo decommentando SET CHARACTER SET funziona, perché?
    Codice PHP:
    <?php
    //>=php 5.3.6
    try {
    header('Content-type: text/plain; charset=utf-8');
    $user = '';
    $pass ='';
    $db = 'my_nick';
    $dbh = new PDO("mysql:host=localhost;dbname=$db;charset=utf8",$user, $pass,array (PDO::MYSQL_ATTR_INIT_COMMAND => "SET character_set_client = 'utf8',character_set_connection = 'utf8',character_set_results = 'utf8'"));
    //$dbh->query('SET CHARACTER SET utf8');
    $dbh->exec("CREATE TABLE IF NOT EXISTS `$db`.`tabella2` (
    `campo` varchar(4) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8"
    );
    foreach(
    $dbh->query("show variables like 'character\_set\_%'",PDO::FETCH_ASSOC) as $conf) {
    print_r($conf);
    }
    $dbh = null;
    } catch (
    PDOException $e) {
    print
    "Error!: " . $e->getMessage() . "\n";
    die();
    }
    ?>

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,761

  3. #3
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Ciao grazie per la risposta.
    Però anche se non utilizzo
    Codice:
    PDO::FETCH_ASSOC
    e uso
    Codice:
    new PDO("mysql:host=localhost;dbname=$db;charset=utf8",$user, $pass)
    ritrovo comunque character_set_client = latin1 e non utf8.
    Edit: se mi baso a ciò ché c'è scritto qui https://stackoverflow.com/questions/...rset-set-names non funziona perché per le versione antecedenti a php 5.3.6 non esisteva.. Tale link mostra i tre metodi disponibili (in realtà 4 SET NAMES utf8 COLLATE).
    Ultima modifica di darbula : 22-11-2018 alle ore 07.09.37

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •