He perdido los acentos de mis webs MySQL

En ocasiones al actualizar o migrar de plesk a plesk aparece un problema con los acentos y los simbolos extendidos en general.

El problema es debido a que en algunso sitios aparece el CHARSET informado como UTF-8 y en otros como latin1.

En general las soluciones que e localizado son del estilo a esto:

Plesk migration manager switches the database encoding by default and generally there is nothing to do with it. Either youl have to manually change the encoding after migration, or dump the databases
manually on the source server and then restore them on the new one with mysqldump, for example:
mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` –all-databases –skip-set-charset > all_db_dump.sql

COn esto resuelves el problema, pero con bastante trabajo y ademas si te das cuenta horas despues del fallo quiza el hilo de los datos a evolucionado y solo te buscas problemas. Bueno hay va mi solución, como el problema es que el mysql esta configurado en latin1 por todos lados y si loc ambias no tiene efecto sobre los datos ya importados, lo mejor es decirle al apache que el tambien es latin1 y como auqi de lo que se trata que todos se entiendan y da igual en que se entiendan, problema resuelto.

edita /etc/httpd/conf/httpd.conf poniendo algo asi:

#
# LanguagePriority allows you to give precedence to some languages
# in case of a tie during content negotiation.
#
# Just list the languages in decreasing order of preference. We have
# more or less alphabetized them here. You probably want to change this.
#
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

#
# ForceLanguagePriority allows you to serve a result page rather than
# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback)
# [in case no accepted languages matched the available variants]
#
ForceLanguagePriority Prefer Fallback

#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default. To use the
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
AddDefaultCharset latin1

OS pongo un trozo para que veiais el contexto, pero lo que interesa es la linea que pone: AddDefaultCharset latin1

This entry was posted in Apache, mysql, plesk. Bookmark the permalink.

3 Responses to He perdido los acentos de mis webs MySQL

  1. Nosotros definiremos latin1(iso-8859-1) para el charset y latin1_spanish_ci para collation.

    Editamos el archivo de configuración de MySQL que se suele llamar my.ini o my.cnf dependiendo del sistema operativo y añadimos los siguientes valores después de la sección [mysqld]:

    character-set-server=latin1
    collation-server=latin1_spanish_ci
    default-character-set=latin1
    default-collation=latin_spanish_ci

    A continuación reiniciamos el servidor y así se habrán establecido los nuevos valores por defecto.

    Para asegurarnos, especificamos los charsets en la configuración de PHP y Apache.

    Editamos php.ini y modificamos la línea:

    default_charset=”iso-8859-1″

    Editamos httpd.conf y modificamos la línea. Si comentamos la línea tomará el charset por defecto del navegador:

    AddDefaultCharset ISO-8859-1

  2. yelitza says:

    http://www.s3v-i.net/2006/07/06/mysql-charset-y-collation/

    post data…gracias por el copia y pega de esta pagina, aunque a mi no me lo resolvió :S

Leave a Reply

Your email address will not be published. Required fields are marked *