Usuário com melhor resposta
texto é gravado com alterações no banco.

Pergunta
-
Olá,
tenho um probleminha aqui.
quando o usuario seleciona um texto qualquer e cola no textbox para gravar no formulario, ao ser inserido no banco, o caracter de aspas, por exemplo, é gravado como interrogação invertida.
se o usuario digita o texto sem o ctrl+c ctrl+v o texto nao tem alteração.
alguém sabe dizer porque isso acontece?
muito obrigado
Respostas
-
Oi
assim de repente parece-me que quando fazes ctrl+c ctrl+v com um caractere aspas, essas aspas são aspas de abrir à esquerda e fechar à direita, que tem uma codificação ascii diferente das aspas normais utilizadas na programação, pois o texto possivelmente vem de um processador de texto ou de texto formatado, e quando é colado num input box é tranformado em caracteres ascii sem formatação.... podes experimentar antes de colares no fomulário, cplar primeiro no notepad do windows e depois copiares e colares outra vez no formulário......
Parece-me que é isso
- Marcado como Resposta joaoluizbt segunda-feira, 22 de novembro de 2010 17:16
-
Obrigado mtsda5, o problema é este reconhecimento de caracteres mesmo.
como é complicado obrigar o usuario a fazer esse malabarismo todo com notepad, eu fiz a alteração no código mesmo:
pOS_DescricaoOS = pOS_DescricaoOS.Replace("”", "\""); pOS_DescricaoOS = pOS_DescricaoOS.Replace("“", "\"");
substituí o "abre aspas" por aspas duplas e o "fecha aspas" por aspas duplas. assim o usuario não precisa fazer nada, e o texto não perde a semantica.
valeu pela ajuda.
- Marcado como Resposta joaoluizbt segunda-feira, 22 de novembro de 2010 17:19
Todas as Respostas
-
Oi
assim de repente parece-me que quando fazes ctrl+c ctrl+v com um caractere aspas, essas aspas são aspas de abrir à esquerda e fechar à direita, que tem uma codificação ascii diferente das aspas normais utilizadas na programação, pois o texto possivelmente vem de um processador de texto ou de texto formatado, e quando é colado num input box é tranformado em caracteres ascii sem formatação.... podes experimentar antes de colares no fomulário, cplar primeiro no notepad do windows e depois copiares e colares outra vez no formulário......
Parece-me que é isso
- Marcado como Resposta joaoluizbt segunda-feira, 22 de novembro de 2010 17:16
-
Obrigado mtsda5, o problema é este reconhecimento de caracteres mesmo.
como é complicado obrigar o usuario a fazer esse malabarismo todo com notepad, eu fiz a alteração no código mesmo:
pOS_DescricaoOS = pOS_DescricaoOS.Replace("”", "\""); pOS_DescricaoOS = pOS_DescricaoOS.Replace("“", "\"");
substituí o "abre aspas" por aspas duplas e o "fecha aspas" por aspas duplas. assim o usuario não precisa fazer nada, e o texto não perde a semantica.
valeu pela ajuda.
- Marcado como Resposta joaoluizbt segunda-feira, 22 de novembro de 2010 17:19