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

    Convertire sito in UTF-8

    Ciao, devo "convertire" un sito in unicode (utf-8).
    La procedura che vorrei seguire è questa:

    - backup di file e database
    - riapro i file e li salvo tutti in UTF-8 (tranne css, js e ovviamente le immagini)
    - da phpMyAdmin converto tutte le tabelle e i campi testo in UTF-8

    è giusto cosi o la conversione (finora il set è ISO-8859-1) cosi "brutale" da phpmyadmin puo dare dei problemi?

    Per il resto faccio cosi:
    - header php e meta tag html per specificare il charset;
    - query ad inizio pagina per "convertire" le connessioni mysql in utf8
    - utilizzo di mbstring (supportate dall'hoster, gia testate);

  2. #2
    Utente di HTML.it L'avatar di diaz
    Registrato dal
    Apr 2000
    residenza
    Berlin
    Messaggi
    379
    giusto per curiosita' mia, usi mbstring.func_overload nelle impostazioni php.ini?
    oppure usi mb per tutti i metodi di cui hai bisogno?
    E da quel giorno, se andavo da qualche parte, io ci andavo correndo!

    Tweeting @apphancer | Views my own – except when I say things I don’t really think.

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: Convertire sito in UTF-8

    Originariamente inviato da l'evangelista
    - da phpMyAdmin converto tutte le tabelle e i campi testo in UTF-8

    è giusto cosi o la conversione (finora il set è ISO-8859-1) cosi "brutale" da phpmyadmin puo dare dei problemi?
    Non è che dia problemi, ma non avrai il risultato desiderato, perchè il contenuto sarà sempre in formato iso, anche se cambi il campo in utf8.

    Devi estrarre i dati, encodarli con utf8_encode e poi reinserirli, oppure subito dopo ogni connessione lanciare la query:

    "SET NAMES utf8" (in questo caso la conversione avviene al volo in fase di estrazione dei dati)

    ciao

  4. #4
    Originariamente inviato da diaz
    giusto per curiosita' mia, usi mbstring.func_overload nelle impostazioni php.ini?
    oppure usi mb per tutti i metodi di cui hai bisogno?
    uso mb per tutti i metodi, sono in hosting e non ho accesso al php.ini.
    avrò un centinaio di chiamate in tutto a funzioni sulle stringhe.. ci vuole un po di pazienza ma con un'oretta le sostituisco tutte.

    Originariamente inviato da gianiaz
    Non è che dia problemi, ma non avrai il risultato desiderato, perchè il contenuto sarà sempre in formato iso, anche se cambi il campo in utf8.

    Devi estrarre i dati, encodarli con utf8_encode e poi reinserirli, oppure subito dopo ogni connessione lanciare la query:

    "SET NAMES utf8" (in questo caso la conversione avviene al volo in fase di estrazione dei dati)

    ciao
    ma "SET NAMES utf8"
    oppure "SET CHARACTER SET utf8" ?
    in termini di prestazioni influisce parecchio? grazie

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da l'evangelista
    ma "SET NAMES utf8"
    oppure "SET CHARACTER SET utf8" ?
    come ho scritto sopra, "SET NAMES..."

    in termini di prestazioni influisce parecchio? grazie
    Sinceramente? non ne ho idea :-)

  6. #6
    Originariamente inviato da gianiaz
    come ho scritto sopra, "SET NAMES..."
    mm.. da quanto ho capito
    SET CHARACTER imposta character_set_client e character_set_results al parametro passato (mentre character_set_connection viene impostato al valore di character_set_database, in sostanza il default )

    SET NAMES imposta tutti e tre i valori al parametro passato.

    quindi se uso SET NAMES non serve usare SET CHARACTER giusto?

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.