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

    Problema codifica caratteri Russi e mysql

    Salve,
    ho un grosso problema che non riesco a risolvere:

    Ho un sito in russo che un form che preleva i dati inseriti dall'utente e li salva nel db.

    Ora il problema è che i dati nel db non vengono salvati correttamente, mi ritrovo valori del tipo
    Альбина Царгасова

    Ho letto diversi post e guardato su internet ma non riesco a risolvere.
    Questa è la situazione:

    Il mio database è in utf8_general_ci, cosi come anche la tabella e tutti i suoi campi.
    La codifica della pagina con il form è utf-8, mentre il file form.php è salvato in UNICODE (altrimenti non mi mostra correttamente i caratteri russi).

    Ho pure inserito queste:
    mysql_query("SET NAMES 'utf-8'");
    mysql_query("SET CHARACTER SET 'utf8'");

    Subito dopo la connessione al db, ma niente...

    Il problema è solo nel salvataggio, perchè se dopo il submit del form mostro a video il valore inserito, questo si vede correttamente.

    Secondo voi da cosa può dipendere?
    grazie.
    Sicily Business - La tua pubbilicità sul web GRATIS!
    http://www.sicilybusiness.com

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ...intanto che il ".php" sia salvato in unicode non è detto vada proprio bene... hai caratteri cirillici DENTRO il codice? A parte questo riverifica i settaggi in tutti gli step e prova magari anche a encodare i dati prima del salvataggio (es. con un base64_encode o simile) e a scompattarli in lettura per verificare sia tutto a posto... da phpmyadmin, infine, puoi fare un inserimento correttamente? se no c'è qualche impostazione nel db non ancora ben definita

  3. #3
    ciao,
    si il problema è che la pagina php contiene al suo interno anche testo statico in russo, e non mi permette di salvarlo se non in unicode...

    Cmq anche cambiando la codifica del file da unicode a quello standard il problema sussiste.

    Ho già ricontrollato più volte... è tutto Utf-8

    Inoltre se utilizzo la funzione da te indicata nel db non vedo più caratteri strani, ma 0JjQvNGPINC4INGE0LDQvNC40LvQuNGP è normale ?

    Secondo me il problema è nel passaggio da php a mysql, perchè se da phpmyadmin metto in una cella dei caratteri russi, questi vengono salvati senza problemi.

    Sicily Business - La tua pubbilicità sul web GRATIS!
    http://www.sicilybusiness.com

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ...per la codifica "strana"... solo per fare una prova: va bene cosa hai ottenuto... in fase di lettura dovresti usare base64_decode e provare a stampare l'output

    per altro verifica tutte le impostazioni utf... v. p.es. discussione su cirillico in php+mysql... controlla ad esempio mysql_set_charset('utf8'); (in realtà è deprecata: guarda le alternative a mysql_set_charset)

  5. #5
    ok grazie.

    faccio delle prove.
    Sicily Business - La tua pubbilicità sul web GRATIS!
    http://www.sicilybusiness.com

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.