Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407

    problema coi caratteri speciali da db access

    salve a tutti,

    io faccio visualizzare una marea di testi da un db di access, ma quando vado a validare la pagina col validator xhtml del w3c ottengo una marea di errori sui caratteri quali le lettere accentate gli apici, gli apostrofi e anche su qualche lettera normale...
    Come mi devo comportare per far in modo che i caratteri mi vengano interpretati in maniera corretta?

    Il punto è che poi un record della tabella che contiene tutti i testi, testo messo in homepage, mi ha dato 0 errori lasciandomi validare la pagina in maniera corretta; mentre tutte le altre pagine che alla fine contengono testi pure loro non mi danno una validazione poichè mi dicono di errori appunto sui caratteri speciali e su altri.

    Ora se nell'homepage tutto andava per il verso giusto non capisco perchè le altre pagine, quindi gli altri record della tabella del db, dovrebbero comportarsi diversamente...

    help me!


    Grazie

  2. #2
    prima di scrivere i testi sulla pagina devi fare su di essi il replace dei caratteri accentati e di tutti quelli che danno problemi in fase di validazione, sostituendoli con il corrispondente encoding.
    codice:
    ' nota: togliere lo spazio tra & e il resto della stringa
    dim arrayCaratteri(11,1)
    arrayCaratteri(0,0) = "à"
    arrayCaratteri(0,1) = "& agrave;"
    arrayCaratteri(1,0) = "è"
    arrayCaratteri(1,1) = "& egrave;"
    arrayCaratteri(2,0) = "é"
    arrayCaratteri(2,1) = "& eacute;"
    arrayCaratteri(3,0) = "ì"
    arrayCaratteri(3,1) = "& igrave;"
    arrayCaratteri(4,0) = "ò"
    arrayCaratteri(4,1) = "& ograve;"
    arrayCaratteri(5,0) = "ù"
    arrayCaratteri(5,1) = "& ugrave;"
    arrayCaratteri(6,0) = "<"
    arrayCaratteri(6,1) = "|& lt;"
    arrayCaratteri(7,0) = ">"
    arrayCaratteri(7,1) = "& gt;"
    arrayCaratteri(8,0) = "ç"
    arrayCaratteri(8,1) = "& ccedil;"
    arrayCaratteri(9,0) = "°"
    arrayCaratteri(9,1) = "& deg;"
    arrayCaratteri(10,0) = "£"
    arrayCaratteri(10,1) = "& pound;"
    arrayCaratteri(11,0) = "€"
    arrayCaratteri(11,1) = "& euro;"
    
    testo = rs("campo_tabella")
    
      for i = 0 to uBound(arrayCaratteri)
      testo = replace(testo,arraCaratteri(i,0),arrayCaratteri(i,1))
      next
    
    response.write testo

  3. #3
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    codice:
    <%
    	section="Privacy"
    	testoiniziale=0
    	'apro la connessione con il db
    	set myConn1 = server.CreateObject("ADODB.Connection")
    	dim strConnDb1
    	strConnDb1 = ""
    	strConnDb1 = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/testisito.mdb")
    	myConn1.Open(strConnDb1)
    			
    	mySqlSelect1 = "select * from testivari where Sezione='" & section & "' order by id"
    	set myRSComS1 = server.CreateObject("ADODB.Recordset")
    	myRSComS1.Open mySqlSelect1, myConn1
         
    	if not(myRSComS1.EOF) and not(myRSComS1.BOF) then	
    		do while not(myRSComS1.EOF)	
    		  testoiniziale=testoiniziale+1
    		  Titoletto=myRSComS1("Sottosezione")
    		  Testoinizio=myRSComS1("Testo")
    		  		  
    		  ' nota: togliere lo spazio tra & e il resto della stringa
    		  dim arrayCaratteri(7,1)
    		  arrayCaratteri(0,0) = "à"
    		  arrayCaratteri(0,1) = "&agrave;"
    		  arrayCaratteri(1,0) = "è"
    		  arrayCaratteri(1,1) = "&egrave;"
    		  arrayCaratteri(2,0) = "é"
    		  arrayCaratteri(2,1) = "&eacute;"
    		  arrayCaratteri(3,0) = "ì"
    		  arrayCaratteri(3,1) = "&igrave;"
    		  arrayCaratteri(4,0) = "ò"
    		  arrayCaratteri(4,1) = "&ograve;"
    		  arrayCaratteri(5,0) = "ù"
    		  arrayCaratteri(5,1) = "&ugrave;"
    		  arrayCaratteri(6,0) = "<"
    		  arrayCaratteri(6,1) = "|&lt;"
    		  arrayCaratteri(7,0) = ">"
    		  arrayCaratteri(7,1) = "&gt;"
    		
    		  for i = 0 to uBound(arrayCaratteri)
    		   Testo1 =  replace(Testoinizio,arrayCaratteri(i,0),arrayCaratteri(i,1))
    		  next
    		  
    		  if (testoiniziale=1) then
    %>
               <div class="testiinfolegali_nt"><%=replace(Testo1,chr(13)&chr(10),"
    ")%></div>
    <%        end if
    		  if (testoiniziale>1) then
    %> 
               <div class="titoloinfolegali"><%=Titoletto%></div>		   
               <div class="testiinfolegali"><%=replace(Testo1,chr(13)&chr(10),"
    ")%></div>
    <%
              end if
     		  myRSComS1.MoveNext
    		loop
    	end if
    	
    	myRSComS1.Close
    	set myRSComS1=nothing	
    	myConn1.Close
    	set myConn1=nothing	
    %>
    mi da type mistach alla linea 27 ossia la dim arrayCaratteri :master:

  4. #4
    Ma che hai messo l'array dentro al ciclo DO?
    Metti questo
    codice:
    ' nota: togliere lo spazio tra & e il resto della stringa
    		  dim arrayCaratteri(7,1)
    		  arrayCaratteri(0,0) = "à"
    		  arrayCaratteri(0,1) = "à"
    		  arrayCaratteri(1,0) = "è"
    		  arrayCaratteri(1,1) = "è"
    		  arrayCaratteri(2,0) = "é"
    		  arrayCaratteri(2,1) = "é"
    		  arrayCaratteri(3,0) = "ì"
    		  arrayCaratteri(3,1) = "ì"
    		  arrayCaratteri(4,0) = "ò"
    		  arrayCaratteri(4,1) = "ò"
    		  arrayCaratteri(5,0) = "ù"
    		  arrayCaratteri(5,1) = "ù"
    		  arrayCaratteri(6,0) = "<"
    		  arrayCaratteri(6,1) = "|&lt;"
    		  arrayCaratteri(7,0) = ">"
    		  arrayCaratteri(7,1) = "&gt;"
    in testa alla pagina.
    Poi hai fatto pure un gran casino li dentro... mo te lo correggo.

  5. #5
    codice:
    <%
    ' nota: togliere lo spazio tra & e il resto della stringa
    dim arrayCaratteri(11,1)
    arrayCaratteri(0,0) = "à"
    arrayCaratteri(0,1) = "& agrave;"
    arrayCaratteri(1,0) = "è"
    arrayCaratteri(1,1) = "& egrave;"
    arrayCaratteri(2,0) = "é"
    arrayCaratteri(2,1) = "& eacute;"
    arrayCaratteri(3,0) = "ì"
    arrayCaratteri(3,1) = "& igrave;"
    arrayCaratteri(4,0) = "ò"
    arrayCaratteri(4,1) = "& ograve;"
    arrayCaratteri(5,0) = "ù"
    arrayCaratteri(5,1) = "& ugrave;"
    arrayCaratteri(6,0) = "<"
    arrayCaratteri(6,1) = "|& lt;"
    arrayCaratteri(7,0) = ">"
    arrayCaratteri(7,1) = "& gt;"
    arrayCaratteri(8,0) = "ç"
    arrayCaratteri(8,1) = "& ccedil;"
    arrayCaratteri(9,0) = "°"
    arrayCaratteri(9,1) = "& deg;"
    arrayCaratteri(10,0) = "£"
    arrayCaratteri(10,1) = "& pound;"
    arrayCaratteri(11,0) = "€"
    arrayCaratteri(11,1) = "& euro;"
    
    	section="Privacy"
    	testoiniziale=0
    	'apro la connessione con il db
    	set myConn1 = server.CreateObject("ADODB.Connection")
    	dim strConnDb1
    	strConnDb1 = ""
    	strConnDb1 = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/testisito.mdb")
    	myConn1.Open(strConnDb1)
    			
    	mySqlSelect1 = "select * from testivari where Sezione='" & section & "' order by id"
    	set myRSComS1 = server.CreateObject("ADODB.Recordset")
    	myRSComS1.Open mySqlSelect1, myConn1
         
    	if not(myRSComS1.EOF) and not(myRSComS1.BOF) then	
    		do while not(myRSComS1.EOF)	
    		  testoiniziale = testoiniziale + 1
    		  Titoletto=myRSComS1("Sottosezione")
    		  Testoinizio=myRSComS1("Testo")
    		  		  
    		  		
    		  for i = 0 to uBound(arrayCaratteri)
                       Titoletto = replace(Titoletto, arrayCaratteri(i,0), arrayCaratteri(i,1))
    		   Testoinizio = replace(Testoinizio, arrayCaratteri(i,0), arrayCaratteri(i,1))
    		  next
    		  
    	  if (testoiniziale = 1) then
    %>
               <div class="testiinfolegali_nt"><%=replace(Testoinizio,chr(13)&chr(10),"
    ")%></div>
    <%        
    	  else
    %> 
               <div class="titoloinfolegali"><%=Titoletto%></div>		   
               <div class="testiinfolegali"><%=replace(Testoinizio,chr(13)&chr(10),"
    ")%></div>
    <%
              end if
     		  myRSComS1.MoveNext
    		loop
    	end if
    	
    	myRSComS1.Close
    	set myRSComS1 = nothing	
    	myConn1.Close
    	set myConn1 = nothing	
    %>

  6. #6
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    ora provo a copiare il tutto e incollare grazie,

    tuttavia mancano 2 caratteri speciali che sono questo " e questo ' come li metto che sarà dura metterli fra ""

  7. #7
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    mi da il seguente risultato...

    http://www.ro76.it/privacy.asp

    dove mi pianta grane sui link presenti nel campo del db che contiene i testi...

  8. #8
    codice:
    ' nota: togliere lo spazio tra & e il resto della stringa
    dim arrayCaratteri(11,1)
    arrayCaratteri(0,0) = "à"
    arrayCaratteri(0,1) = "& agrave;"
    arrayCaratteri(1,0) = "è"
    arrayCaratteri(1,1) = "& egrave;"
    arrayCaratteri(2,0) = "é"
    arrayCaratteri(2,1) = "& eacute;"
    arrayCaratteri(3,0) = "ì"
    arrayCaratteri(3,1) = "& igrave;"
    arrayCaratteri(4,0) = "ò"
    arrayCaratteri(4,1) = "& ograve;"
    arrayCaratteri(5,0) = "ù"
    arrayCaratteri(5,1) = "& ugrave;"
    arrayCaratteri(6,0) = " < "
    arrayCaratteri(6,1) = " & lt; "
    arrayCaratteri(7,0) = " > "
    arrayCaratteri(7,1) = " & gt; "
    arrayCaratteri(8,0) = "ç"
    arrayCaratteri(8,1) = "& ccedil;"
    arrayCaratteri(9,0) = "°"
    arrayCaratteri(9,1) = "& deg;"
    arrayCaratteri(10,0) = "£"
    arrayCaratteri(10,1) = "& pound;"
    arrayCaratteri(11,0) = "€"
    arrayCaratteri(11,1) = "& euro;"

  9. #9
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    codice:
    	' nota: togliere lo spazio tra & e il resto della stringa
    	dim arrayCaratteri(12,1)
    	arrayCaratteri(0,0) = "à"
    	arrayCaratteri(0,1) = "&agrave;"
    	arrayCaratteri(1,0) = "è"
    	arrayCaratteri(1,1) = "&egrave;"
    	arrayCaratteri(2,0) = "é"
    	arrayCaratteri(2,1) = "&eacute;"
    	arrayCaratteri(3,0) = "ì"
    	arrayCaratteri(3,1) = "&igrave;"
    	arrayCaratteri(4,0) = "ò"
    	arrayCaratteri(4,1) = "&ograve;"
    	arrayCaratteri(5,0) = "ù"
    	arrayCaratteri(5,1) = "&ugrave;"
    	arrayCaratteri(6,0) = "<"
    	arrayCaratteri(6,1) = " &lt; "
    	arrayCaratteri(7,0) = ">"
    	arrayCaratteri(7,1) = " &gt; "
    	arrayCaratteri(8,0) = "ç"
    	arrayCaratteri(8,1) = "&ccedil;"
    	arrayCaratteri(9,0) = "°"
    	arrayCaratteri(9,1) = "&deg;"
    	arrayCaratteri(10,0) = "£"
    	arrayCaratteri(10,1) = "&pound;"
    	arrayCaratteri(11,0) = "€"
    	arrayCaratteri(11,1) = "&euro;"
    	arrayCaratteri(12,0) = "'"
    	arrayCaratteri(12,1) = "&acute;"
    così non è corretto :master:

  10. #10
    Originariamente inviato da Mems
    codice:
    ' nota: togliere lo spazio tra & e il resto della stringa
    dim arrayCaratteri(11,1)
    arrayCaratteri(0,0) = "à"
    arrayCaratteri(0,1) = "& agrave;"
    arrayCaratteri(1,0) = "è"
    arrayCaratteri(1,1) = "& egrave;"
    arrayCaratteri(2,0) = "é"
    arrayCaratteri(2,1) = "& eacute;"
    arrayCaratteri(3,0) = "ì"
    arrayCaratteri(3,1) = "& igrave;"
    arrayCaratteri(4,0) = "ò"
    arrayCaratteri(4,1) = "& ograve;"
    arrayCaratteri(5,0) = "ù"
    arrayCaratteri(5,1) = "& ugrave;"
    arrayCaratteri(6,0) = " < "
    arrayCaratteri(6,1) = " & lt; "
    arrayCaratteri(7,0) = " > "
    arrayCaratteri(7,1) = " & gt; "
    arrayCaratteri(8,0) = "ç"
    arrayCaratteri(8,1) = "& ccedil;"
    arrayCaratteri(9,0) = "°"
    arrayCaratteri(9,1) = "& deg;"
    arrayCaratteri(10,0) = "£"
    arrayCaratteri(10,1) = "& pound;"
    arrayCaratteri(11,0) = "€"
    arrayCaratteri(11,1) = "& euro;"
    E'questo quello corretto.
    Copialo e incollalo. Devi solo levare gli spazi dopo il carattere &, solo quelli.
    Nel caso di < e > lascia gli spazi prima e dopo, idem per i corrispondenti encoding.

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.