Cambiar codificación

Tengo un problema que supongo viene de la codificación de la base de datos.
Recojo unos datos de la base de datos, que está en sql server, y los presento en una web, esa web está codificada en charset iso-8859-1 y en presentar los datos, una descripción, estos me salen con caracteres raros en los acentos.
No puedo cambiar la codificación de la web ya que trabajo con más de una base de datos y si lo hiciera me cargaría el resto de la web que si funciona.
Lo que quiero es averiguar qué codificación tengo en la base de datos problemática, ¿y saber si puedo cambiar esa codificación y cómo?
Me urge bastante.

4 respuestas

Respuesta
1
Para ver el juego de caracteres de la base de datos (collate) debes ejecutar lo siguiente: SELECT DATABASEPROPERTYEX('nombre_bd', 'collation')
Puedes optar por dos cosas:
1. Cambiar el collate de la base de datos al collate que se ajuste al de tu desarrollo:
Use [master]
go
alter database [aduanas] collate latin1_general_cs_as_ks
go
2. Lo otro que puedes hacer es que en tu consulta o store procedure que usas para retornar los datos hagas que el collate de las columna texto sean diferentes de la siguiente manera:
select     texto1 collate latin1_general_cs_as_ks,
             Texto2 collate latin1_general_cs_as_ks
from tabla
ahora, para saber que tipos de collate tienes en la base de datos puedes consultarlo de la sgte manera:
SELECT *
FROM fn_helpcollations()
Exactamente no se con que collate trabaja el ISO que manejas, pero espero que te pueda servir la información que te estoy enviando, cualquier consulta adicional la envías.
Respuesta
1
Desde el management estudio seleccionando la base de datos propiedades, en la pestaña opciones, puedes cambiar esta opción.
Respuesta
1
¿Si cambias la codificación a utf-8 en tu web los datos de las demás bd se muestran incorrectamente?
La verdad nunca me había tocado cambiar la codificación de la bd solo en la web.
Pues usar el Procedimiento almacenado sp_helpsort y sp_configure para obtener información de tu bd.
Tal vez te sirva este link donde puede definir diferentes collations por columna.
Respuesta
Para mi vas a tener que crear entidades por los caracteres en los que tienes problemas.
NOTA: Para soportar estas entidades con nombre, los agentes de usuario no tienen más que reconocer los nombres de las entidades y convertirlos a caracteres que caigan dentro del repertorio de la [ISO88591].
No estoy mucho en el tema... pero espero que te ayude.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas