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

    PHP - Caratteri Speciali e Dreamweaver

    Premetto che no so se stò postando nel posto giusto! °_°

    Il mio problema credo sia semplice...SPERO!

    Io prima utilizzavo XHTML con Dreamweaver e quando scrivevo in Vista Progettazione mi metteva in automatico i Caratteri Speciali senza dover far fatica a cercarli e metterli a manina.

    Mi metteva anche quelli Giapponesi senza difficoltà!

    E se saltavo qualche è ò à & ecc.. facevi la Convalida e il programma stesso stilava la lista di errori che poi tu andavi a correggere.

    Ora il mio sito stò cercando di convertirlo in PHP, ovviamenete sono alle prime armi, ma questa funzione molto comoda di Dreamweaver è sparita.

    Ora non capisco se dipende dal fatto che è in PHP o non centra affatto ed è una coincidenza, ma pare che l'unico modo che io ho per visualizzare i Caratteri Speciali sia modificare il DOCTYPE da charset=iso-8859-1" a charset=UTF-8".

    Fin qui è ok, ma sembra che la W3C non accetti questo charset=UTF-8" e quindi non vorrei fare un inutile lavoraccio di modificare la DOCTYPE per tutte le pagine e poi faccio la verifica e mi dice che non va bene.

    Come mi devo comportare?
    A qualcuno di voi è già capiato?

    Vi prego son disperata...chi c'è la fa a star dietro a tutti i Caratteri Speciali che la W3C codifica errati.

    Spero che mi aiutate...

  2. #2
    PS: Il forum se li avvicini capisce subito che si tratta di una parola cosi è à ì ù.
    Questa non l'ho capita!


    Tornando al problema, lo so come si fanno i caratteri speciali...il mio problema stà nel programma Dreamweaver che prima lo faceva da solo in automatico mentre ora non lo fa più...ed è successo esattamente da quando ho incominciato ad utilizzare le pagine in PHP anzichè XHTML.

  3. #3
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Fai attenzione che pure la codifica del file deve essere in utf-8 .

    Io ci lotto spesso con le codifiche di caratterei jappo cinorussi etc.

    I caratteri speciali italiani (se pur presenti nella codifica utf-8) sono traquillamente convertibili in codifica html (iso-quello che e') con la funzione htmlentities(). attento che questa ti converte pure "<" e ">" .

    I caratteri utf-8 sono semore na rottura quando la config del server scassa. Anche perche' dipendono appunto da che codifiche acceta il server che stai usando.

    A me capitava che file salvati con codifica utf-8 funzionassero anche senza il charset nell'html SOLO SU FIREFOX. Una volta specificato il charset anche nell'html i files funzionavano anche su ie.

    Controlla l'encoding del file.

  4. #4
    Quindi ricapitolando, devo utilizzare il charset utf-8 e stare attenta che non converta anche altri caratteri che non necessitano di conversione.

    Ma però il mio problema rimane lo stesso, Dreamweaver prima convertiva tutto da solo senza che io li controllassi, da quando uso le pagine in PHP invece non mi corregge niente e devo rileggermi tutto il testo e correggerlo a manina.

    Perdo del tempo...

    Volevo solo sapere se in Dreamweaver esiste un settaggio per i caratteri speciali che li converte da solo anche in PHP.

    Io devo scrivere anche in Giapponese e se prima metteva codici come # seguito da numeri che davano il kanji richiesto, ora con le pagine in PHP non lo fa più.

    Per me è un grosso problema, perchè il Giapponese non ha una tabella a cui puoi attingere come per i normali ò à è ù che basta scrivere & egrave; e sei apposto.

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Allora 2 cose se lavori in dreeamweaver in modalita' progettazione su html in automatico ti converte i caratteri èéòà in &amp;egrave; &amp;eacute; etc ....

    Cio' in php puoi farlo con la funzione htmlentities( $str ), facendo atenzione che questa funzione ti converte anche i caratteri < > , se non imposti i filtri , cmq guardati il manuale che trovi qui .

    Per le codifiche giapponesi se i files php che usi sono in utf-8 devi fare attenzione che quando chiami htmlenetities devi specificare il charset utf-8 senno sbaglia la conversione.

    Ovviamente questa funzione non converte il giapponese per fare cio' usa questa :

    Codice PHP:

    function decodeUTF8($string) {
        
    /* Only do the slow convert if there are 8-bit characters */
        /* avoid using 0xA0 (\240) in ereg ranges. RH73 does not like that */
        
    if (! ereg("[\200-\237]"$string) and ! ereg("[\241-\377]"$string))
            return 
    $string;

        
    // decode three byte unicode characters
        
    $string preg_replace("/([\340-\357])([\200-\277])([\200-\277])/e",       
        
    "'&#'.((ord('\\1')-224)*4096 + (ord('\\2')-128)*64 + (ord('\\3')-128)).';'",   
        
    $string);

        
    // decode two byte unicode characters
        
    $string preg_replace("/([\300-\337])([\200-\277])/e",
        
    "'&#'.((ord('\\1')-192)*64+(ord('\\2')-128)).';'",
        
    $string);

        return 
    $string ;

    Ti converte i caratteri come dici te da carattere a &#[numero]; . Ovviamente lo fai via codice da php sulle stringhe che usi.

    Non credo che dreamweaver ti consenta di fare quelle che chiedi tu anche perche' in php ci lavori in modalità "codice" e nn in modalità progettazione.

  6. #6


    Scusa, ma sono ancora alle prime armi e molte cose non le capisco ancora...di quello che mi hai spiegato non ci capito un H!

    Forse devo impratichirmi per arrivare al tuo livello...

    Se tu fossi cosi gentile da farmi una spiegazione un po' più elemantare te ne sarei grata...

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    OKappa.

    Dreamweaver lavora fondamentalmente in 2 modalita' : code e designer.

    Code serve a per editare direttamente il codice html / js /css
    Designer e' l'interfaccia WYSIWYG
    Acronimo di "What You See Is What You Get" ossia tradotto : "Quello che vedi e' quello che ottieni".

    Da quello che ho capito tu usi DW (DreamWeaver, abbrevio per comodita') in modalita' designer e quando insrisci un testo DW converte automaticamente i caratteri nella relativa codifica html.

    Per farlo anche in php non si puo' fare.
    Se non sbaglio tale funzione e' attiva solamente per l'interfaccia "designer", e dovresti vedere se esiste un tasto nei menu che ti converte la stringa selezionata.

    La funzione che to ho postato sopra serve per fare eseguire a php la conversione dei caratteri utf8 nella codifica iso etc... per cui se inserisci una stringa utf-8 e la passi al tale funzione potrai tranquillamente convertire i caratteri.

    Ovviamente cio' avverra' a tempo di esecuzione dello script.

    Inoltre devi fare attenzione alle codifiche dei files che usi.
    Ogni file ha un header nascosto che identifica alcuni dati necessari del file. Data creazione, codifica, formato dimensione e altro. Sulle proprieta del file DW ti consente di modificare queste impostazioni e quindi di modificare la codifica del file. Se passi i files ad utf-8 farai un passo in avanti per arrivare a gestire tali caratteri direttamente da php senza doverli per forza convertire.

    Quindi se il file php o html e' salvato con codifica utf-8 e il charset nei metatag e' dichiarato anchesso utf-8 potri traquillamente gestire tali caratteri nelle tue pagine.


    Cmq controlla anche
    questa guida che ti spiega bene il discorso codifiche etc.

    E non preoccuparti troppo del w3c, sono solo una banda di burocrati.
    Io sinceramente mi sono rotto di stargli dietro alla fine per me l'importate e' che funzioni come dico io. Se poi i caratteri si vedono tutti a meno di doctypes, dtd, charsets e altro a me va bene.

    io di solito uso questa instestazione sui files utf-8
    Codice PHP:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    >
    <
    html>
       <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    </
    head

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.