Estoy utilizando Sql Server 2008 R2 Enterprise. Estoy codificando una aplicación capaz de insertar, actualizar, eliminar y seleccionar registros de tablas Sql. La aplicación comete errores cuando se trata de registros que contienen caracteres especiales, como ć, č š, đ y ž.Caracteres Unicode en la tabla SQL
Esto es lo que sucede:
El comando:
INSERT INTO Account (Name, Person)
VALUES ('Boris Borenović', 'True')
WHERE Id = '1'
inserta un nuevo disco, pero el campo Nombre es Boris Borenovic
, por lo que el carácter ć
se cambia a c
.
El comando:
SELECT * FROM Account
WHERE Name = 'Boris Borenović'
devuelve el registro correcto, por lo que una vez más el carácter ć
se sustituye por c
y se devuelve el expediente.
Preguntas:
- ¿Es posible hacer que SQL Server Save los caracteres especiales y otros
ć
se mencionó anteriormente? - ¿Todavía es posible, si se resuelve la pregunta anterior, hacer que Sql pueda devolver el registro
Boris Borenović
aunque la consulta soliciteBoris Borenovic
?
Por lo tanto, al guardar los registros que desea que SQL para guardar exactamente lo que se da, pero cuando se recuperan los registros, que quieren que sea capaz de ingnore los caracteres especiales . Gracias por toda la ayuda.
Gracias por su respuesta. El campo Nombre en mi tabla Sql es de tipo nvarchar (50), por lo que el problema sigue siendo el mismo. En cuanto al cotejo, creo que debería resolver la segunda pregunta, sin embargo, hasta que resuelva el 'ć' y otros caracteres que faltan, estoy atascado. Revisé mi texto de comando Sql en el código y parece normal (lo que significa que contiene esos molestos personajes). ¿Podría haber algo más que impida el ahorro de esos personajes? ¿Cómo es que la declaración SELECT también convierte 'ć' a' c' (no estoy usando COLLATE)? – Boris
@Boris - como digo (punto 2), si tiene literales de cadena (como en los ejemplos que ha publicado), debe poner una "N" antes de la comilla de apertura, de lo contrario la cadena se convertirá en otra forma antes de llegar a la mesa. –
OK, lo tengo! ¿Debo colocar esa 'N' delante de cada valor de campo? – Boris