none
Como puedo cambiar este caracter '¤' por ñ en el query? RRS feed

  • Pregunta

  • Hola, 

    Tengo una BD con collation SQL_Latin1_General_CP1_CI_AI que usa nuestro ERP. Dentro del ERP la ñ se muestra correctamente, sin embargo cuando se hace un query en SSMS o en alguna otra app externa siempre muestra ¤ .

    Igual pasa con los acentos. He intentado usar COLLATE en la consulta pero no logro encontrar el collation correcto. 

    Alguien que me pueda ayudar?


    Michel Cochegrus

    lunes, 21 de septiembre de 2020 19:12

Respuestas

Todas las respuestas

  • Deleted
    • Marcado como respuesta mcochegrus lunes, 21 de septiembre de 2020 20:31
    lunes, 21 de septiembre de 2020 19:47
  • Hola mcochegrus:

    No debiera de ser la intercalación.

    Create table dbo.a (
    	col1 nvarchar(10) Collate SQL_Latin1_General_CP1_CI_AS,
    	col2 nvarchar(10) Collate Latin1_General_CI_AS,
    	col3 varchar(10) Collate Traditional_Spanish_CI_AS
    );
    GO
    INSERT INTO dbo.a (col1, col2, col3)
    values
    (N'Caña',N'Caña','Caña' ),
    (N'España',N'España','España'),
    (N'Canción',N'Canción','Canción');
    GO

    Las intercalaciones contienen la Ñ

    SELECT * FROM dbo.a

    Aún insertando como varchar sin especificar que los datos son Unicode, sigue siendo válido.

    INSERT INTO dbo.a (col1, col2, col3)
    values
    ('Caña2','Caña2', null),
    ('España2','España2', null),
    ('Canción2','Canción2', null);
    GO
    SELECT * FROM dbo.a

    lunes, 21 de septiembre de 2020 19:51
  • Muchas gracias, eso ofrece mucha luz, pero hay manera de hacer que las apps lo lean como IBMDOS?

    Michel Cochegrus

    lunes, 21 de septiembre de 2020 20:16
  • Hola: 

    Eso depende de la aplicación cliente, que consume los datos, no de la base de datos. Desde el Sql Server no puedes forzar eso.

    • Marcado como respuesta mcochegrus lunes, 21 de septiembre de 2020 20:31
    lunes, 21 de septiembre de 2020 20:30
  • gracias!

    Michel Cochegrus

    lunes, 21 de septiembre de 2020 20:31