Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    34

    caratteri non riconosciuti in PHP 5.2.2

    Salve signori uso un server locale wamp apache con php 5.2.2 ed ho dei problemini fastidiosi, il simbolo €, accenti, lettere accentate ed apostrofi non vengono riconosciuti e stampati cosi �.
    sapete come risolvere grazie senza cambiare versione di php? grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non dipende dalla versione di PHP, ma dal set di caratteri che usi.

    Devi controllare:
    - collation del db
    - charset delle tabelle
    - il charset con cui sono salvati i file php
    - il charset impostato nel tag "meta charset" delle pagine
    - charset impostato per la connessione al db, si imposta con mysql_set_charset('...'), supponendo che tu stia usando mysql come connessione, altrimenti l'equivalente per ciò che stai usando

    Tutte queste cose devono essere coerenti, se ad esempio il db usa utf8, devi impostare utf8 ovunque, così non avrai problemi e non dovrai usare funzioni per convertire il set di caratteri.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    34
    che charset dovrei impostare?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    utf8 riconosce tutto.
    Per il db dovrai scegliere utf8_general_ci

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    181
    Per la parte html non è meglio utilizzare ISO-8859-1 per le lettere accentate?
    UTF-8 non gestisce solo i caratteri inglesi/normali (a-z A-Z)?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    No, utf8 gestisce praticamente tutto, compresi caratteri cirillici, arabi, hindi, cinesi, giapponesi e mi sa qualunque lingua ti venga in mente.

  7. #7
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Originariamente inviato da Alhazred
    No, utf8 gestisce praticamente tutto, compresi caratteri cirillici, arabi, hindi, cinesi, giapponesi e mi sa qualunque lingua ti venga in mente.
    pure lingue inventate, vedi il Klingon

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    34
    ma dovrei modificare tutto lo script ke lavoraccio ho provato a mettere il charset nel db ma niente

  9. #9
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    ke lavoraccio
    se non vuoi fare il 'lavoraccio' posso consigliarti l'utilizzo di un qualsiasi framework che faccia questo lavoro per te?

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non devi modificare niente nello script.

    Nel db imposta utf8 come collation e utf8_general_ci come charset delle tabelle (lo puoi fare da phpmyadmin)

    Salva tutti i file php ed html in formato utf8 (lo puoi fare con un editor di testi come Notepad++ andando in "Formato -> Converti in UTF8 senza BOM"

    Nel file dove apri il collegamento al db, dopo la selezione del db metti
    mysql_set_charset('utf8');

    tutto qua.

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.