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

    Ajax e caratteri strani ..

    Ciao a tutti,
    ho un problema quando carico tramite ajax una pagina che abbia dentro caratteri strani quali lettere accentate, segni come quello del copyright ecc. ecc.

    Ho letto di usare encodeURIComponent, solo che essendo quello che carico codice HTML una volta che l'ho codificato con encodeURIComponent non è più leggibile :-)

    per caricare la pagina uso
    codice:
    function loadpage(page_request, containerid,url){
    	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
    	{
    		str = page_request.responseText;
    		alert(str)
    		alert(encodeURIComponent(str))
    		document.getElementById(containerid).innerHTML=page_request.responseText;
    		theDiv=document.getElementById(containerid);
    		theScripts=theDiv.getElementsByTagName("script");
    		
    	
    		for (i=0;i<theScripts.length;i++){
    			url=(theScripts[i].getAttribute("src"));
    			var scriptToLoad = document.createElement("script");
    			scriptToLoad.src = url;
    			scriptToLoad.type="text/javascript";
    			document.getElementsByTagName("head")[0].appendChild(scriptToLoad);
    			theDiv.removeChild(theScripts[i]);
    		}
    		caricata = 1;
    		
    	}
    		
    }
    Guardando il primo alert vedo che se ho per esempio una ì questa mi diventa un ?
    La pagina che carico è ASP.

    Se la carico non con AJAX ma direttamente però non ho problemi di visualizzazione ...

    Come si fa quindi ?!? :-(

    Grazie mille a tutti ...

    Bruce
    _____________

    Bruce

    www.palestracft.it

  2. #2
    encodeURIComponent si usa per inviare testo al server e non per decodificarlo ...

    se invii un testo dopo averlo encodato con encodeURIComponent il server riceverà una stringa compatibile UTF-8 ... a quel punto lavori con quella e quando rimandi il testo al javascript devi specificare il charset come UTF-8 o come quello predefinito della tua pagina
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3


    :master:

    mmm ... ma come faccio a encodare quello che carico ?

    :master: :master:
    _____________

    Bruce

    www.palestracft.it

  4. #4
    Ho risolto aggiungendo

    Codice PHP:
    <%Response.ContentType "text/html"
    Response.Charset "iso-8859-1"
    %> 

    nella pagina che carico ...

    Grazie mille

    Bruce
    _____________

    Bruce

    www.palestracft.it

  5. #5
    in php ho risolto con questo metodo

    http://free-script.it/post/Script_Aj..._ajax-103.html

    Fantastico!!!


  6. #6
    Originariamente inviato da Bruce O'Canaan
    Ho risolto aggiungendo

    Codice PHP:
    <%Response.ContentType "text/html"
    Response.Charset "iso-8859-1"
    %> 
    non hai risolto affatto, ci vediamo al primo carattere cinese che ti inviano

    P.S. idem per il post qua sopra, come se tutto andasse encodato utf-8 a prescindere ... ragazzi il charset e l'internazionalizzazione (i18n) sono un problema serio che ne voi, ne altri, risolveranno in 5 righe di codice. Consiglio prima di capire bene quale sia il problema, e poi affrontarlo come si deve entro i limiti del possibile
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Originariamente inviato da andr3a

    P.S. idem per il post qua sopra, come se tutto andasse encodato utf-8 a prescindere ... ragazzi il charset e l'internazionalizzazione (i18n) sono un problema serio che ne voi, ne altri, risolveranno in 5 righe di codice. Consiglio prima di capire bene quale sia il problema, e poi affrontarlo come si deve entro i limiti del possibile
    ora che mi arriva un carattere cinese inventano prima una nuova tecnologia che va al di là del charset.
    Unicode utf8 sicuramente è quello che è più compatibile di tutti e comunque mi raffronto sempre con la tipologia di lavoro.
    poi se vuoi possiamo discutere fino alle quattro di domanimattina, ma ritengo che seguire l'UTF8 sia la scelta più veloce rispetto ai tempi a cui posso dedicarmi per un progetto.

  8. #8
    utf-8 va bene, ma non gestito in quel modo ... se ti inviano caratteri che sono gia' utf-8 il risultato puo' essere pessimo.

    utf-8 si encoda quando serve, ad esempio se usi encodeURIComponent ti arrivano gia' stringhe utf-8, quindi overencodi le stesse?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.