• Viernes 15 de Noviembre de 2024, 09:21

Autor Tema:  Problemas Con Charset  (Leído 1584 veces)

Kyrylys

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Problemas Con Charset
« en: Miércoles 18 de Abril de 2007, 13:15 »
0
Hola, tengo un pequeño problema, mas en concreto es que la base de datos que estoy usando no tiene definido un charset, asi que cada vez que hago dump la web se me vuelve ilegible.

la cuestion es que no tengo acceso al pc donde esta alojada la base de datos, y tendria que definir el charset mediante consola o indicarselo através de la hoja de txt que utilizo para el dump y restauracion de la bd.

el problema es que no se cómo definirle en las cabeceras el charset.

un ejemplo de "las cabeceras" que aparecen en el txt:

-- Server version   3.23.58
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

se puede modificar por aqui? si es asi como? muchas gracias


F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Problemas Con Charset
« Respuesta #1 en: Jueves 19 de Abril de 2007, 07:16 »
0
Puedes modificar en el script de esta ,manera

Ejemplo:

Citar
Nivel Base de datos
alter database bd charset=utf8;

Nivel Tabla
alter table tabla charset=utf8;

Nivel Campo
alter table tabla alter column campo charset=utf8;


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

Kyrylys

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Re: Problemas Con Charset
« Respuesta #2 en: Jueves 19 de Abril de 2007, 09:58 »
0
F_Tanori no te entendí bien...
yo no tengo scrips, he intentado forzando despues de la conexion poniendo :
Código: Text
  1. @mysql_query("SET NAMES 'iso-8859-1'");
  2.  
pero tampoco parece funcionar.

y definir cada tabla de la bd con el charset no es la solucion, puesto que la bd va a ir creciendo y no voy a estar encargada de ellla...

alguna idea mas?

ayer desde casa tube problemas para postear esto, que quizas asi entendais mejor el problema:
Citar
bueno he estado toda la tarde mirando y he llegado a pocas conclusiones, mas bien todo lo contrario, os cuento por partes.

he investigado, y resulta que la base de datos tiene el charset de latin 1 o iso 8859-1 si mi memoria no me falla, bien el web está codificada en el mismo iso, entonces es cuando viene el problema....

(y las dudas)

el problemas es que cuando hago un inserto via web a la base de datos lo inserta bien, miro la web y coje los datos correctamente, pero si miro la base de datos mediante consola me sale con otra codificacion.

claro, por muy bien que se vea la web y lo poco que le afecte en cuanto se haga un dump de la bd y se vuelva a insertar se van a "corromper" todos los textos.
ademas teniendo en cuenta que algunos textos dependientes de la bd -un 95%- ya estan "corruptos" ainss...

y ahora la duda que me ha surgido es que mirando por internet he visto que hay gente que recomienda ponerlo en latin 1 y otros en utf-8
vosotros que pensais?

puedo hacer algo? o simplemente se arregla no haciendo nunca dump?... eso me parece muy triste.... :S

EDITO: la version es mysql 3.23.58
Edit 2:
acabo de probar con SHOW CHARACTER SET y -atención-  me da un error
Código: Text
  1.  error 1064 (00000): you have an error in your SQL syntax near `CHARACTER SET' at line 1
  2.  
 y lo he copiado del manual de 3.23 de mysql.net
puede ser que el host de la bd tenga desactivada la opcion que permita cambar el charset?
aun asi entonces por que me da problemas si haciendo \s me dice que el default es un latin 1???