Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18
  1. #11
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Ho settato tutti i campi utf8_unicode_ci (db, tabelle e campi)

    dovrò sicuramente fare qualche modifica se mi capiterà il cinese ma non fa nulla

    In quel caso sarebbe da usare il big-5

    Ciaps
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  2. #12
    Ciao Leandro,
    sei un genio!

    Finalmente ho risolto questo annoso problema.

    Se invece realizzo un sito solo in italiano o in inglese, diciamo lingue con codifica ISO-8859-1 io imposterei i campi, tabelle e DB latin1_general_ci, encoding delle pagine web ISO-8859-1.

    Secondo te devo fare SET NAMES = 'latin1' o non serve?

    Oppure ho cannato tutto? :-D

    Un'altra cosetta, invece da command line ti funziona bene l'output di caratteri arabi/cirillici? A me scazza anche se eseguo SET NAMES utf8 . Ovviamente anche il dump mi da problemi.

    Cmq la tua soluzione vorrei pubblicarla sul mio blog per cui se puoi mi mandi i riferimenti con cui vuoi apparire?

    Grazie e ciao. Max
    http://www.massimo-caselli.com
    :: Linux Apache PHP e MySQL Blog ::

  3. #13
    up
    http://www.massimo-caselli.com
    :: Linux Apache PHP e MySQL Blog ::

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Scusa, non ho ricevuto la notifca della risposta... mah

    Allora se vuoi utilizzare solo caratteri italiani e inglesi va bene la codifica latin1_general_ci (il ci sta per Case Insensitive).

    Il SET NAMES iniziale non lo devi fare a meno che il tuo server mysql non sia settato diversamente: lo verifichi facendo "SHOW VARIABLES LIKE 'character%'", viene fuori una lista del tipo
    character_set_client utf8
    character_set_connection utf8
    character_set_database utf8
    character_set_results utf8
    character_set_server latin1
    character_set_system utf8
    Quella in rosso è il valore che ti interessa (e in sostanza è quello che cambi con il set names o cambiando il my.ini.

    Utilizzare il latin1 ti conviene nel caso di queste due lingue perchè ovviamente occupano solo 1 byte e non 2 come l'utf8. In sostanza risparmi spazio.

    Non ho capito invece che intendi per output.. via web?
    Cmq mo provo con il dump e vedo cosa viene fuori.

    A dopo
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  5. #15
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Allora, il dump non dovrebbe essere un problema perchè quando carichi le query da file è sufficiente che specifichi la codifica nella maschera di phpmyadmin.

    Cioè se te clicchi la scheda SQL ti da la textarea per l'inserimento tramite stringa oppure l'inserimento della query tramite file. In fondo c'è un'indicazione tipo "Set di caratteri del file".

    Ho provato e funziona, nel file si vedono i quadratini (se lo apro con notepad e altri caratteri strani se lo apro con editpad) e all'inserimento vengono "magicamente" trasformati in UTF8 e quindi rivedo e inserisco la mia bella stringa araba.

    Ora dovrei capire cosa succede riguardo l'output.

    In unapagina web non vedi il risultato corretto ma da phpmyadmin si? Se è così è perchè devi specificare che quella pagina utilizza il charset utf8 (vedi il mio primo post). E magari dal tuo editor html devi salvare il file con codifica utf8.

    Altrimenti spiega meglio

    A presto
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  6. #16
    Ciao Leandro,
    prima di tutto grazie ancora.

    Il problema riguarda il DUMP da command-line di linux o anche di windows, non da PhpMyAdmin dove funziona a meraviglia.

    In shell da command-line ho problemi sia con il dump sia la semplice visualizzazione dei record.
    Mentre da web e Phpmyadmin grazie a te ho risolto!

    Un salutone, Max
    http://www.massimo-caselli.com
    :: Linux Apache PHP e MySQL Blog ::

  7. #17
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Prego, figurati.

    Vabbè ma probabilmente se lavori da command line l'unico problema è che il command non supporta quel tipo di codifiche.

    E' un pò come ti avevo detto riguardo al notepad, ti fa vedere i quadratini ma in realtà la codifica la tiene. In fin dei conti l'importante è che i dati siano salvati in maniera corretta in MySql.

    Ciao ciao
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  8. #18
    Forse sono un po' in ritardo:

    nella pagina di visualizzazione aggiungi il <META http-equiv="Content-Type" content="text/html; charset=UTF-8">


    Per la memorizzazione dei dati nel database prova a seguire le seguenti istruzioni:

    Sostanzialmente sui server MySQL di sistemi di hosting italiani (ma credo anche americani) e comunque in generale, l’impostazione del default_character_set è impostata a latin1.
    Ma anche qualora sia impostata ad utf8 quando via script PHP ci connettiamo al database MySQL la nostra sessione di default (nonostante la pagina sia encodata utf8) sarà attivata con character set latin1, cosa succede quindi, che i dati e le query che inviamo sfasano e il sistema memorizza erroneamente i dati.

    Di fatto il comportamento giusto lo ha PMA, dobbiamo cercare quindi di emularlo.
    Per farlo basta di fatto lanciare dopo ogni connessione la seguente query: SET NAMES utf8
    Così facendo la connessione tra client e server sarà UTF8.
    tratto da: http://www.massimo-caselli.com/2006/...ratteri-mysql/
    è meglio tacere e far credere di essere stupido piuttosto che parlare e togliere ogni dubbio

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.