125 messaggi dal 22 agosto 2001
Ciao a tutti,

sembra una banalità ma sto riscontrando seri problemi con le lettere accentate nell'inserimento di testo da form.

ho una pagina asp (salva_commento.asp) che memorizza il testo nel database access, con una insert normalissima. Questa pagina viene chiamata da un'altra inserisci_commento.asp tramite ajax per l'aggiornamento senza reload. Funziona tutto perfettamente, tranne che i caratteri accentati vengono sostituiti nel database in questo modo:

èòà ---diventano---> èòÃ

il fatto è che prima di memorizzare nel db, i caratteri vengono printati su salva_commento.asp corretti, per cui il problema sta nella insert.
Ho provato ogni genere di combinazione tra html.encode, response.charset, ecc...
ma non trovo la soluzione.

Come risolvere questa cosa?

PS: aggiungo che l'insert se viene eseguita senza chiamata ajax (quindi con una chiamata classica a salva_commento.asp) funziona perfettamente e i caratteri accentati sono salvati. Il dubbio che ho è che quindi sulla pagina salva_commento.asp ci voglia qualche codice aggiuntivo per unificare il charset qunado avviene la chiamata ajax.

ciao e grazie
125 messaggi dal 22 agosto 2001
ciao

mi rispondo da solo perché forse ho trovato la soluzione.

In pratica cambio il codepage solo all'interno della pagina salva_commento.asp in questo modo:

<%
Session.CodePage = 65001 ' UTF-8 code
'*** Cambio il codepage che mi da i caratteri accentati
%>

<%
[codice che recupera dati da form e memorizza nel db]
%>

<%
Session.CodePage = "1252" 
'*** rimetto il codepage di default
%>

Devo rimettere il 1252 perché altrimenti si scombinano i caratteri accentati delle altre pagine. Non so se è corretto come ho fato ma empiricamente risolve il problema.
Cmq se qualcuno vuole dare rigore alla cosa, ben venga!

ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.