Ciao a tutti,


Ho un problema con i caratteri speciali. Uso anche Server.htmlencode ma noto che finche i dati da una textarea arrivano giusti al db (ààòòààùùùù), quando quest'ultimo viene letto attraverso il Server.htmlencode, non c'è nessun problema...ma ora è diverso...ogni qual volta rispondo ad una discussione nel mio forum viene caricata nel db già con i caratteri sbagliati e quindi Server.htmlencode non lo interpreta e lo lascia così com'è...risolvo il problema non mettendolo, ma purtroppo avevo già altre discussioni con i caratteri esatti salvati sul db. Il risultato?Se lascio server.htmlencode le vecchie discussioni si vedono bene ma quelle nuove(dove appunto i caratteri vengono già salvati sbagliati sul db) no e viceversa. Vi posto il codice della pagina che invia le info e poi quella che le carica:

Pagina che invia

codice:
 

<head>

<title>|*** Regresoyorugua.com *** | -- Discusi&ograve;n:<%=Server.HTMLEncode(request.querystring("tit"))%></title>
</head>

<div id="content">

<%
' carga la noticia entera
dim pir
dim fin
public usua
pir = request.QueryString("var")
dim sql
set rs = server.CreateObject("ADODB.Recordset")
set rss = server.CreateObject("ADODB.Recordset")
sql_a = "UPDATE ultima SET  visitas = visitas +1 WHERE id_ult ="&pir
conn.execute(sql_a)
sql = "select * from ultima where id_ult= "& pir
rs.open sql, conn
id_us = rs("id_usr")

sql_b = "SELECT * FROM datos_usuario WHERE id_usr = "&id_us
rss.open sql_b, conn
do while not rss.eof
usua = rss("username")
fecha_re =  rss("fecha_regi")
imagen = rss("imagen")
sexo = rss("sexo")
rss.movenext
loop 
%>
<table id="forumtable" >
  <tr>
    <td id="forumtitle">Autor Discusi&oacute;n</td>
   <td id="forumtitle"></td>
  </tr>

<%
do while not rs.eof
	response.write "<tr>"
	response.Write "<td id='forum' width = '20%'>"
	response.write "<span>"&usua&"

</span>"
	if imagen = "no" then
		if sexo = "" then
			imagen = "fm1.jpg"
		end if
		
		if sexo = "M" or sexo = "Masculino" then
			imagen = "m.jpg"
		end if
		
		if sexo = "F" or sexo = "Femenino" then
'			imagen = "f.png"
		end if
	end if
	response.Write "<span>[img]public\upload\"&imagen&"[/img]</span>

"
	response.write "<span>Fecha de registraci&oacute;n:"&fecha_re
	response.write "</span></td>"
	response.Write "<td id='forum'><span><H2>" & UCASE(Server.HTMLEncode(rs("titulo"))) & "</H2></span>

"
	response.Write "<span>" & UCASE(Server.HTMLEncode(rs("texto"))) &" </span>"
	response.Write "</br></br>"
	response.Write("</td>")
	response.write "</tr>"
	response.write "<tr>"
	response.write "<td id='forum'></td>"
	response.write "<td id='forum'><span>"& rs("fecha") & "</span></td>"
	response.write "</tr>"
	fin = rs("id_ult") 
	
	
	rs.movenext
loop
rs.close
set rs = nothing
%>




<%
set rs = server.CreateObject("ADODB.Recordset")
' carga todos los comentarios de esta noticia
sql = "SELECT * FROM ultima INNER JOIN (datos_usuario INNER JOIN comentarios ON datos_usuario.id_usr = comentarios.id_usr) ON ultima.id_ult = comentarios.id_ult WHERE (((comentarios.id_ult)="& pir&")) ORDER BY fecha_com ASC;"
rs.open sql, Conn 
i = 2
do while not rs.eof
	
	usuario = rs("username")
	fecha_regs =  rs("fecha_regi")
	ima = rs("imagen")
	sexo = rs("sexo")
	if i mod 2 = 0 then
		response.write "<tr style='background-color: #f0f0f0;'>"
	else
		response.write "<tr >"
	end if
	response.Write "<td id='forum'>"
	response.write "<span>"&usuario&"

</span>"
	if ima = "no" then
		if sexo = "" then
			ima = "fm1.jpg"
		end if
		
		if sexo = "M" or sexo = "Masculino" then
			ima = "m.jpg"
		end if
		
		if sexo = "F" or sexo = "Femenino" then
			ima = "f.png"
		end if
	end if
	
	response.Write "<span>[img]public\upload\"&ima&"[/img]</span>

"
	response.write "<span>Fecha de registraci&oacute;n:"&fecha_regs
	response.write "</span>
</td>"
	response.Write "<td id='forum'>"
	response.Write ("<span>" & Server.HTMLEncode(rs("comentario")) &" </span>")
	response.Write "</br></br>"
	response.Write("</td>")
	response.write "</tr>"
	if i mod 2 = 0 then
		response.write "<tr style='background-color: #f0f0f0;'>"
	else
		response.write "<tr >"
	end if
	response.write "<td id='forum'></td>"
	response.write "<td id='forum'><span>" & rs("fecha_com") & "</span></td>"
	response.write "</tr>"
	fin = rs("id_ult")
	i = i+1
	rs.movenext

loop
rs.close
set rs = nothing
if Session("Username") <> "" then
	response.Write("<tr>")
	response.Write("<td id = 'forum'></td>")
	response.Write("<td id = 'forum'>")
	response.Write("<form name='comm' action='cargacomentario.asp' method='post'>")
	response.Write("<input type='hidden' name='fin' value='"&fin&"'>")
	response.Write("<input type='hidden' name='usua' value='"&usua&"'>")
	response.write("<span><H2>Respond&eacute;:</H2></span>
")
	response.Write("<span><textarea name='comentario' style='width:100%; height:150px' title='Comentà Noticia'> </textarea></span>
</td>")
	response.Write("</tr>")
	response.Write("<tr><td id = 'forum'></td><td id = 'forum'><span><input type='submit' value='Respond&eacute;' /></span>
</td></tr>")
	response.Write("</form>")
else
	response.Write("<tr>")
	response.Write("<td id = 'forum'></td>")
	response.Write("<td id = 'forum'>")
	response.Write("
<span>Acced&eacute; al sito para responder en una discusi&oacute;n!! No est&aacute;s registrado?Registrate!!
</span>
</td>")
	response.Write("</tr>")
end if	

%>
</table>

</div>


Pagina che carica

codice:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<link href="formattazione.css" rel="stylesheet" type="text/css">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
</head>
<%
dim ult
ult = request.Form("fin")
if Session("Username") <> ""  then
Call carga_comentario()
else
response.write("No accediste! Si no estàs registrado Registrate!!!")
end if
%>
<body>
</body>
</html>
<%
dim usua 
usuario = request.form("usua")

Sub carga_comentario()
dim usr
dim sql_a, sql_b, sql_c
dim come 
come = request.Form("comentario")
set rs = server.CreateObject("ADODB.Recordset")
sql_a = "select id_usr from datos_usuario where username = '"& Session("Username") & "'"
rs.open sql_a , Conn
do while not rs.eof
	usr = rs("id_usr")
	rs.movenext
loop
rs.close
sql_b = "insert into comentarios (id_usr,id_ult, comentario, fecha_com) values ("& usr & "," & ult & ",'" & come & "','"&now()&"');"
Conn.execute(sql_b)
sql_c = "select * from comentarios where comentario = '" & come & "'"
rs.open sql_c, Conn
do while not rs.eof
	id_com = rs("id_com")
	rs.movenext
loop
rs.close
Conn.close
set Conn = nothing
set rs = nothing
response.redirect("mail.asp?id_ult="&ult&"&usr="&Session("Username")&"&com="&request.form("comentario")&"&usuario="&request.form("usua")&"&id_com="&id_com)
end sub
%>
Scusate se mi dilungo....perchè la stessa cosa invece non mi succede nella pagina dove stampo la discussione(in blu) (discussioni e risposte sono su 2 tabelle diverse)...ovvero i caratteri speciali vengono rappresentati tranquillamente...nella prima parte del codice appena postato viene stampata la discussione...il problema risale nelle risposte(rosso)