Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 37
  1. #11
    Originariamente inviato da Cerebro
    Dove puoi, usa questa funzione per testare se una stringa è utf8:

    Codice PHP:
    function is_utf8($s)
    {
        for (
    $i=0$i<strlen($s); $i++) {
            if (
    ord($s[$i]) < 0x80) continue; # 0bbbbbbb
            
    elseif ((ord($s[$i]) & 0xE0) == 0xC0$n=1# 110bbbbb
            
    elseif ((ord($s[$i]) & 0xF0) == 0xE0$n=2# 1110bbbb
            
    elseif ((ord($s[$i]) & 0xF8) == 0xF0$n=3# 11110bbb
            
    elseif ((ord($s[$i]) & 0xFC) == 0xF8$n=4# 111110bb
            
    elseif ((ord($s[$i]) & 0xFE) == 0xFC$n=5# 1111110b
            
    else return false# Does not match any model
            
    for ($j=0$j<$n$j++) { # n bytes matching 10bbbbbb follow ?
                
    if ((++$i == strlen($s)) || ((ord($s[$i]) & 0xC0) != 0x80))
                return 
    false;
            }
        }
        return 
    true;

    Sopra poi è stato scritto, esegui la query "set names 'utf8'" subito dopo aver stabilito la connessione?

    Poi quando dici "dati che ho importati con ODBC e che ho contrallato essere esatti come ß à ü í ú ö l'apostrofo eccetera.", come li hai controllati?

    E dove vedi che i caratteri non ti appaiono come dovrebbero?
    1) Se metto la funzione da te elencata nel file config.ini.php puó testare
    utf8_encode(trim($res[$i]['name']))
    e le altre ... contenute nei molti files ?
    L'ho fatto, ma nulla cambia
    2) Penso che tu sappia che ODBC importa da Access a mezzo MySQL-Front i dati come sono. Sono poi entrato nel mio database MySQL ed ho verificato se effettivamente ci fossero i valori correttamente importati ed è cosí, perchè li vedo scritti nei singoli campi delle tabelle e li posso modificare.
    Peccato che ultimamente molti providers rifiutano di far usare ODBC con MySQL,
    e allora in modo grossolano e macchinoso prima intervengo con un edit nelle querry eliminando l'apostrofo ed i simboli che non verrebbero importati esattamente e successivamente dopo aver eseguito la querry nel database modifico i dati.
    Devi quindi sapere che per inserire ad edempio la doppia s tedesca ß la inserisco con codie asci ALT+225, ma questa nulla ha a che fare con la nostra discussione attuale.

  2. #12
    non vedo motivo di verificare se la stringa è utf8, se la hai nel codice sai benissimo da dove arriva

    Se vuoi far usare UTF8 al browser devi mandare gli headers corretti, altrimenti ovviamente il browser invierà altra roba

    Cosi viceversa, se vuoi salvare nel DB, oltre a mettere il database e le tabelle in utf8 devi anche settare in utf8 la connessione che lo puoi fare tramite php5
    http://it2.php.net/manual/it/functio...et-charset.php

    o
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET utf8");
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #13
    Utente di HTML.it L'avatar di Cerebro
    Registrato dal
    Jan 2005
    Messaggi
    193
    Originariamente inviato da lupusonline
    1) Se metto la funzione da te elencata nel file config.ini.php puó testare
    utf8_encode(trim($res[$i]['name']))
    e le altre ... contenute nei molti files ?
    L'ho fatto, ma nulla cambia
    config.ini.php ? di che applicazione stiamo parlando?

    quella funzione una volta messa da qualche parte però intendevo che la usassi per testare se una stringa era utf8.

    Originariamente inviato da lupusonline 2) Penso che tu sappia che ODBC importa da Access a mezzo MySQL-Front i dati come sono. Sono poi entrato nel mio database MySQL ed ho verificato se effettivamente ci fossero i valori correttamente importati ed è cosí, perchè li vedo scritti nei singoli campi delle tabelle e li posso modificare.
    Peccato che ultimamente molti providers rifiutano di far usare ODBC con MySQL,
    e allora in modo grossolano e macchinoso prima intervengo con un edit nelle querry eliminando l'apostrofo ed i simboli che non verrebbero importati esattamente e successivamente dopo aver eseguito la querry nel database modifico i dati.
    Devi quindi sapere che per inserire ad edempio la doppia s tedesca ß la inserisco con codie asci ALT+225, ma questa nulla ha a che fare con la nostra discussione attuale.
    In effetti non ho mai usato ODBC.

    Però scusami, forse non ho chiaro il tuo problema, anche se l'ho riletto più volte.

    Hai importato dei dati (utf8) su MySQL da Access tramite ODBC, e da un client (MySQLFront?) hai verificato (si spera) che l'importazione è stata eseguita con successo.

    Ora stai usando questi dati prelevandoli da MySQL (?) e li visualizzi quindi dove? Pagina web? Tramite PHP?

  4. #14
    Originariamente inviato da Cerebro
    config.ini.php ? di che applicazione stiamo parlando?
    quella funzione una volta messa da qualche parte però intendevo che la usassi per testare se una stringa era utf8.
    In effetti non ho mai usato ODBC.
    Però scusami, forse non ho chiaro il tuo problema, anche se l'ho riletto più volte.
    Hai importato dei dati (utf8) su MySQL da Access tramite ODBC, e da un client (MySQLFront?) hai verificato (si spera) che l'importazione è stata eseguita con successo.
    Ora stai usando questi dati prelevandoli da MySQL (?) e li visualizzi quindi dove? Pagina web? Tramite PHP?
    1) Con MySQL-Front ci si collega come un normale FTP a MySQL e quindi con l'ODBC abilitato si trasferiscono i dati che si trovano in un file microsoft-access. Il tutto avviene automaticamente in fase di import ed il software prima crea la teballe poi fa gli INSERT.
    I dati quindi vengono traferiti cosí cme sono contenuti nel file mdb di access.
    Ora a mezzo della programmazione in PHP devo far vedere i contenuti del database di MySQL.
    Tutto qui, ma i caratteri tedeschi, francesi e tutti quelli internazionali non vengono visualizzati come sono nel database.
    Per farti un esempio :
    Ä tedesca viene visualizzata in HOLTKÄ (tutta un'altra cosa)
    ß tedesca viene visualizzata in ß

  5. #15
    Originariamente inviato da daniele_dll
    non vedo motivo di verificare se la stringa è utf8, se la hai nel codice sai benissimo da dove arriva
    Se vuoi far usare UTF8 al browser devi mandare gli headers corretti, altrimenti ovviamente il browser invierà altra roba
    Cosi viceversa, se vuoi salvare nel DB, oltre a mettere il database e le tabelle in utf8 devi anche settare in utf8 la connessione che lo puoi fare tramite php5
    http://it2.php.net/manual/it/functio...et-charset.php
    o
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET utf8");
    Le due istruzioni vanno messe nei files php da me costruiti e dove ?
    Oppure è un settaggio che deve fare il gestore del server ?

  6. #16
    ecco, li già c'è stata probabilmente una semi tragedia

    Ad ODBC va detto che si deve usare UTF-8 e va detto anche alla connessione di mysql!

    Che versione hai usato di mysql front?
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #17
    Originariamente inviato da lupusonline
    Le due istruzioni vanno messe nei files php da me costruiti e dove ?
    Oppure è un settaggio che deve fare il gestore del server ?
    no, sono query da lanciare subito dopo il connect
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  8. #18
    Originariamente inviato da daniele_dll
    ecco, li già c'è stata probabilmente una semi tragedia
    Ad ODBC va detto che si deve usare UTF-8 e va detto anche alla connessione di mysql!
    Che versione hai usato di mysql front?
    Ho usato il MySQL-Front vesione 2.4 del 28/07/02
    Ma non sono convinto sia stata una tragedia altrimenti nel database vedrei fulmini e fiamnme e non i caratteri che ho sempre usati ed inseriti sempre in codice ASCII.
    MySQL fa vedere quello che contiene o sbaglio ?

  9. #19
    Originariamente inviato da daniele_dll
    no, sono query da lanciare subito dopo il connect
    Quindi per esempio visto che la connessione avviene come segue dove vanno messe ?
    <?php
    //parametri del database
    $hostname='...';
    $username='...';
    $password='...';
    $db='...';
    $global_db=mysql_connect($hostname, $username, $password) or die('Non connesso al server. Controllare il file config.inc.php: ' . mysql_error());
    mysql_select_db($db, $global_db) or die('Database non selezionato');
    ?>

  10. #20
    Originariamente inviato da lupusonline
    Ho usato il MySQL-Front vesione 2.4 del 28/07/02
    Ma non sono convinto sia stata una tragedia altrimenti nel database vedrei fulmini e fiamnme e non i caratteri che ho sempre usati ed inseriti sempre in codice ASCII.
    MySQL fa vedere quello che contiene o sbaglio ?
    c'è la 2.5, che è comunque troppo vecchia

    fino a quel momento non c'era ancora il supporto per la codifica e di conseguenza non puoi usarlo per importare dati!
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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 © 2026 vBulletin Solutions, Inc. All rights reserved.