Kerio gracias por tu respuesta, logre "solucionar" el problema usando esto:
Código:
Function chkString(ByVal Cadena As String) As Boolean
Cadena = Trim(Cadena)
Cadena = System.Web.HttpUtility.UrlDecode(Cadena)
If Len(Cadena) > 70 Then
Return Regex.IsMatch(Cadena, "^[a-zA-Z0-9-/?|!|(\[)|(\])|@|.|,|(\$)|;|:|*|+|/n|=| |]+$")
Else
Return Regex.IsMatch(Cadena, "^[a-zA-Z0-9-/¿?|!|¡|(\[)|(\])|@|.|,|(\$)|;|:|*|+|/n|=|á|é|í|ó|ú|ñ|Ñ|Á|É|Í|Ó|Ú|�| |]+$")
End If
End Function
Esta función la llamo desde el Método y si devuelve true guardo la información en la base de datos SQL Server 2005; lo cual estaba funcionando sin problemas, al agregar:
Código:
Cadena = Trim(Cadena)
Cadena = System.Web.HttpUtility.UrlDecode(Cadena)
Ahora me esta guardando en la base de datos caracteres raros como "%20"; lo cual no entiendo, pues al método no le modifique nada. Estoy tratando de usar la misma instrucción anterior, pero reemplaza los caracteres especiales (áéíóúñÑ) con "�".
Ahora bien en la función a chkString para que funcionara tuve que agregar al patrón "�", lo cual esta mal, pues cualquier carácter especial (por ejemplo ~) lo reemplazara con "�" y solo quiero comprobar ciertos caracteres especiales (los demás que están en el patrón.)
Alguna sugerencia?