Visualizzazione risultati 1 fino 6 di 6

Discussione: Problema lettere accentate

  1. #1
    Guest

    Predefinito Problema lettere accentate

    Salve a tutti, ho appena attivato il mio hosting con altervista ma, aimè, se non riuscirò a risolvere questo dannato problema con le lettere accentate, sarò costretto ad abbandonarlo!!

    Veniamo al dunque:
    premesso che in locale funziona tutto correttamente, che mi sono sfogliato tutto il forum in cerca di risposta, che ho ricreato da pannello di controllo il database e sempre da pannello di controllo i due file (quindi senza problemi di import sql o robe varie, mi spuntano sempre i simboletti al posto delle accentate e di conseguenza il json restituisce NULL. Se non metto accentate tutto fila liscio!!!

    Soluzioni???

    Grazie in anticipo!

    config.inc.php (connessione al database)
    Codice PHP:
    <?php

    $username
    = "....";
    $password = "...";
    $host = "localhost";
    $dbname = "....";


    $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');

    try
    {
    $db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options);
    }
    catch(
    PDOException $ex)
    {
    die(
    "Failed to connect to the database: " . $ex->getMessage());
    }
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    if(
    function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc())
    {
    function
    undo_magic_quotes_gpc(&$array)
    {
    foreach(
    $array as &$value)
    {
    if(
    is_array($value))
    {
    undo_magic_quotes_gpc($value);
    }
    else
    {
    $value = stripslashes($value);
    }
    }
    }

    undo_magic_quotes_gpc($_POST);
    undo_magic_quotes_gpc($_GET);
    undo_magic_quotes_gpc($_COOKIE);
    }
    header('Content-Type: text/html; charset=utf-8');
    session_start();

    ?>
    random.php (visualizzazione della query in formato json)
    Codice PHP:
    <?php

    require("config.inc.php");

    $query = "SELECT * FROM comments order by RAND() LIMIT 1";

    try {
    $stmt = $db->prepare($query);
    $result = $stmt->execute($query_params);
    }
    catch (
    PDOException $ex) {
    $response["success"] = 0;
    $response["message"] = "Database Error!";
    die(
    json_encode($response));
    }

    $rows = $stmt->fetchAll();


    if (
    $rows) {
    $response["success"] = 1;
    $response["message"] = "Post Available!";
    $response["posts"] = array();

    foreach (
    $rows as $row) {
    $post = array();
    $post["post_id"] = $row["post_id"];
    $post["username"] = $row["username"];
    $post["title"] = $row["title"];
    $post["message"] = $row["message"];
    $post["data"] = $row["data"];


    array_push($response["posts"], $post);
    }

    echo
    json_encode($response);


    } else {
    $response["success"] = 0;
    $response["message"] = "No Post Available!";
    die(
    json_encode($response));
    }

    ?>

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Nel codice vedo solo delle json_encode, sono quelle che danno NULL?

    Comunque si tratta solo di impostazioni diverse tra il server di Altervista e quelle che hai impostato in locale, basta impostare correttamente le cose e tutto funzionerà.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Nel codice vedo solo delle json_encode, sono quelle che danno NULL?
    Si, e se inserico echo post['message']; dopo $post["data"] = $row["data"]; allora viene visualizzato il simboletto al posto della lettera accentata.

    Comunque si tratta solo di impostazioni diverse tra il server di Altervista e quelle che hai impostato in locale, basta impostare correttamente le cose e tutto funzionerà.
    Sono proprio le cose che chiedevo..... cmq, cercherò.....

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Citazione Originalmente inviato da lepavanate Visualizza messaggio
    Si, e se inserico echo post['message']; dopo $post["data"] = $row["data"]; allora viene visualizzato il simboletto al posto della lettera accentata.
    La json_encode prende una struttura dati e la serializza e di solito capita solo se stai cercando di serializzare dei dati non serializzabili. Come prima cosa assicurati di usare PHP 5.3 e poi usa la json_last_error per determinare con esattezza cosa non va. Poi parliamo del resto.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    goalmanager non è connesso Utente
    Data registrazione
    08-03-2014
    Messaggi
    140

    Predefinito

    Buongiorno,

    scusate se mi inserisco nel post, ma avrei un problema analogo.

    Ho predisposto un form dove l'utente può scrivere una news e uno sfogo :-)

    tuttavia quando nel database mi viene inserito il suo commento (la cella è varchar) se vi sono lettere accentate, queste vengono così

    è Ã*

    anzichè è, à..

    Posso risolvere direttamente con le impostazioni delle celle del database?

  6. #6
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Apri una tua discussione che questa è già abbastanza complicata ;)


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


Regole di scrittura

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