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ò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ó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ó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ó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é:</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é' /></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é al sito para responder en una discusión!! No estás registrado?Registrate!! </span> </td>") response.Write("</tr>") end if %> </table> </div>
Pagina che carica
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)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 %>

Rispondi quotando