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

    responseXML su Explorer

    Ciao a tutti.

    Sto cercando di gestire una chat in ajax. L'ho finita, funziona su qualunque browser fuorché Explorer


    Dopo vari esperimenti ho scoperto che un XML così strutturato:
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <ciao>
    </ciao>
    solo su Explorer risulta scorretto dando errore sulla chiamata ajax per recuperare la responseXML. Mentre se tolgo l'intestazione lasciando.
    codice:
    <ciao>
    </ciao>
    sul browser Microsoft funziona.


    Speravo che un semplice
    codice:
    if(Explorer) niente intestazione
    else fai come si deve fare
    bastasse...
    e invece si presenta un grave problema:
    Se non specifico l'encoding le lettere accentate danno errore fermando la chat

    Qualcuno ha già avuto problemi simili? Perché Explorer vede la riga di intestazione come un errore? Perché la maggior parte della gente continua a usare Explorer?

    Spero possiate rispondere almeno alle prime 2 domande
    Il cinghiale è un animale raffinato

  2. #2
    In risposta alle tue domande:
    1- Si
    2- Perché è fatto coi piedi? No seriamente, se lo importi come file e non come stringa dovrebbe vederlo.
    3- Perché la maggior parte delle persone non sa nemmeno che esistano le alternative, anzi, io ho parlato con gente che credeva che IE FOSSE internet.

    Comunque, io non userei mai le lettere accentate in un file XML, piuttosto farei ampio uso di HTML entities.

  3. #3

    Dovrei scrivere su file ogni volta che un utente scrive nella chat!!! E' l'anfiefficienza! Tutto per colpa di un solo browser!

    ... non posso proprio... piuttosto... ho provato a sottoporre le stringhe alla funzione htmlentities() di php, ma come risultato mi ritrovo l'entita scritta nella sua forma codice (es &amp;egrave; invece che &egrave;... non riesco a capire perchè!) anche su Firefox e gli altri.


    Per il punto 3... sono basito... è incredibile che ci sia un'ignoranza tale nell'informatica mentre c'è gente che sa bene il latino e il greco antico... ma non mi dilungo per non andare offtopic :master:
    Il cinghiale è un animale raffinato

  4. #4
    HO UNA QUASI BELLA SOLUZIONE:

    Girando su internet, nel manuale del php ho trovato questa funzione:
    Codice PHP:
      /** Toglie gli accenti dalle lettere */
      
    function removeAcentos($str$enc "UTF-8") {
        
    $acentos = array(
            
    'A' => '/&Agrave;|&Aacute;|&Acirc;|&Atilde;|&Auml;|&Aring;/',
            
    'a' => '/&agrave;|&aacute;|&acirc;|&atilde;|&auml;|&aring;/',
            
    'C' => '/&Ccedil;/',
            
    'c' => '/&ccedil;/',
            
    'E' => '/&Egrave;|&Eacute;|&Ecirc;|&Euml;/',
            
    'e' => '/&egrave;|&eacute;|&ecirc;|&euml;/',
            
    'I' => '/&Igrave;|&Iacute;|&Icirc;|&Iuml;/',
            
    'i' => '/&igrave;|&iacute;|&icirc;|&iuml;/',
            
    'N' => '/&Ntilde;/',
            
    'n' => '/&ntilde;/',
            
    'O' => '/&Ograve;|&Oacute;|&Ocirc;|&Otilde;|&Ouml;/',
            
    'o' => '/&ograve;|&oacute;|&ocirc;|&otilde;|&ouml;/',
            
    'U' => '/&Ugrave;|&Uacute;|&Ucirc;|&Uuml;/',
            
    'u' => '/&ugrave;|&uacute;|&ucirc;|&uuml;/',
            
    'Y' => '/&Yacute;/',
            
    'y' => '/&yacute;|&yuml;/',
            
    'a.' => '/&ordf;/',
            
    'o.' => '/&ordm;/'
        
    );
        return 
    preg_replace($acentosarray_keys($acentos), htmlentities($str,ENT_NOQUOTES$enc));
      } 
    Qualsiasi carattere speciale viene privato del suo accento
    es é = e
    ò = o

    Questo purtroppo obbliga gli utenti della chat a mettere l'apostrofo come accento, ma al momento è la soluzione migliore...
    Il cinghiale è un animale raffinato

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.