none
texto é gravado com alterações no banco. RRS feed

  • 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

    segunda-feira, 22 de novembro de 2010 13:06

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
    segunda-feira, 22 de novembro de 2010 14:01
  • 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
    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
    segunda-feira, 22 de novembro de 2010 14:01
  • 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
    segunda-feira, 22 de novembro de 2010 17:19