Mamedu
mysql pasar de latin1 a utf8

01 de Enero, 1970

Con este método conseguimos convertir la base de datos y el código php a utf8 de forma rapida

En local

Realizado script para hacer la conversión lo más rápido posible

#!/bin/bash

## Primer paso es pasar el archivo con la copia de la base de datos a utf8
##
## pasamos el archivo como primer parámetro al script, y se generara un archivo
## con el mismo nombre + -utf8.sql
##
## Una vez obtenido el archivo comenta las lineas hasta el exit incluido.
##
## Nos situamos en el directorio del proyecto y ejecutamos el script para comenzar
## la transformación de los archivos php, js, html y .htacces

## Modificar codificación de base de datos

bd=totbisbalU8
usuario=root
pass=`contrasenya mysql`

fichero_latin="$1"
fichero_utf8="${1}-utf8.sql"

cp "$fichero_latin" "$fichero_utf8"
# iconv -f LATIN1 -t UTF8 "$fichero_latin" > "$fichero_utf8"

perl -pi -w -e 's/latin1/utf8/g;' "$fichero_utf8"

perl -pi -w -e 's/à/à/g;' "$fichero_utf8"
perl -pi -w -e 's/é/é/g;' "$fichero_utf8"
perl -pi -w -e 's/è/è/g;' "$fichero_utf8"
perl -pi -w -e 's/í/í/g;' "$fichero_utf8"
perl -pi -w -e 's/ó/ó/g;' "$fichero_utf8"
perl -pi -w -e 's/ò/ò/g;' "$fichero_utf8"
perl -pi -w -e 's/ú/ú/g;' "$fichero_utf8"
perl -pi -w -e 's/ñ/ñ/g;' "$fichero_utf8"
perl -pi -w -e 's/í‘/Ñ/g;' "$fichero_utf8"

mysql -u$usuario -p$pass -e "DROP DATABASE $bd;"
mysql -u$usuario -p$pass -e "CREATE DATABASE $bd CHARACTER SET utf8 COLLATE utf8_general_ci;"
mysql -u$usuario -p$pass $bd < "$fichero_utf8"

exit # Fin de la primera fase: Modificar codificación de base de datos

## Modificar códificación de archivos

find . -regex ".*\.\(js\|php\|html\|phtml\)" -printf "%p\n" | while IFS=":" read file ; do
echo - "$file"
iconv -f iso-8859-1 -t utf-8 "$file" > "${file}-utf8"
if [ $? = 0 ] ; then
mv "${file}-utf8" "$file"
else
echo - Error al pasar $file a utf8
echo
read -p "Continuar (s/n): " OPCION
[[ "$OPCION" = "n" ]] && exit
fi
done

## Modificar código html

find . -regex ".*\.\(php\|html\)" -printf "%p\n" | while IFS=":" read file ; do
echo - "$file"
sed -i -e "s/charset=iso-8859-1/charset=utf-8/g" "$file"
done

## Modificar .htaccess

find . -name '.htaccess' -printf "%p\n" | while IFS=":" read file ; do
echo - "$file"
sed -i -e "s/iso-8859-1/utf-8/g" "$file"
done

Si mysql os da un error al importar la base de datos, es necesario ejecutar mysql en una terminal y ejecutar las dos sentencias siguientes.

set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;

En el servidor

Vamos a phpmyadmin para modificarle la codificación a utf8

Importamos el archivo en utf8

En el código php especificarle la codificación mediante:

mysql_query("SET NAMES 'utf8'");

Justo después de crear con la conexión en php con la base de datos.

 

Ayuda rápida para las varias cosas que nos ayudan a programar más ágilmente pero que no son fáciles de recordar Autocompletado Funciones: Control-x Control-ó Volver al último punto donde estábamos, la última vez que lo abrimos 'ó Ir a la función con el nombre sobre el que estamos. gf o Crtl + clic de ratón Borrar espacios en blanco inútiles en programación al final de lineas. :%s/ * $//gcI...
Screen nos permite trabajar en un ordenador en red ysin cerrarse los procesos en marcha cuando lo abandonemos. Lanzar screen con identificador de sesión screen -t Para salir de screen sin cerrar el programa CTRL + a + d Recuperamos sesión screen -d -r Ver como va nuestro proceso screen -t bit -X hardcopy && cat hardcopy.0 Teclas Control a y S Dividir ventana Control a y Control i Cambiar entre ventanas Control a + Aumentar ventana Co...
tags: git, Control de versiones Iniciar control de versiones en proyecto existente git init git add . git commit -m 'Iniciamos control de versiones' Comandos basicos git add <archivo> # Añadir archivogit mv <archivo> <destino> # Mover archivogit rm <archivo> # Borrar archivogit status # Ver estado...
Script para detectar enlaces y generar el código automáticamente Función que remplaza los enlaces planos por enlaces html: function replaceURLWithHTMLLinks(text) { var exp = /(b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/gi; return text.replace(exp,"<a href='$1'>$1</a>"); } Forma de utilizarla: var elements = document.getElementsByClassName('contingut_comentari'); for(var i = 0;i < elements.length;i++) { e...
Activar precio único para envío de pedido Activar módulos "Weight quote", "shipping quotes" y "flatrate" Dar permisos a webmaster para trabajar con los módulos. Activamos "shipping quotes" en admin/store/settings/cart/edit/panes Configurar en admin/store/settings/quotes/methods/flatrate Añadimos dos conceptos: Enviar pedido a casa: 4€ Recogida en tienda: 0€ Opciones de proceso de compra [1] Enable checkout (disable to only use thi...
Borrar cache ir a admin/setting/performance o truncar las tablas cache_* Manipulando el código generado de views MarioAraque Fecha de Ingreso: octubre-2009 Ubicación: Valencia Mensajes: 816 Respuesta: Manipulando el codigo generado de VIEWS Si que podes editar ese codigo. Es muy facil te voy a poner los pasos a seguir: Dentro de cada display de una vista tenes una opcion llamada "Theme information". Pincha ahi y veras distintas opciones para las cuales hacer override. Las mas...
Si queremos ver el servidor apache de la maquina virtual, por ejemplo. Al configurar la maquina virtual en el apartado de red en 'conectado a' seleccionar 'Adaptador puente' Nombre: El dispositivos con el cual conectáis a internet en mi caso 'wlan0' En el sistema virtualizado se configura una ip que sea valida para el router en mi caso el archivo /etc/network/interface queda.: auto eth0 iface eth0 inet static address 192.168.0.180 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.16...
Al modificar de ventana con ALT-TAB se muestran todas las ventanas, cuando lo que quiero es cambiar entre las del escritorio actual. Activar 'shift switcher' en el administrador de compiz con las opcines: Next windows -> ALT-TAB Previous windows -> ALT-SHIFT-TAB Se genera conflicto con 'switcher' resolver en favor de 'shift switcher' Atajos de teclado: CTRL-X Abrir terminal CTRL-E Abrir evolution CTRL-F Abrir firefox Desde configuración del sistema -> teclado -> atajos....

Usuario:

Contraseña:


ojo.gif
www.mamedu.com
Webmaster