Bienvenidos a VerTutoriales.com, en esta ocasión vamos a ver como realizar un reemplazo de texto dentro de mysql, en mi caso fué un problema a la hora de migrar la base de datos que la codificación me la cambió a la hora de importar y exportar y una vez puesta la base de datos en producción denuevo no pude realizar la copia correctamente con su juego de caracteres para que no saliera con esos caracteres raros, así que averiguandolo, encontré la consulta exacta para esta labor.
La consulta de actualización para reemplazar el texto es muy sencilla, por razones obvias se ha de realizar tantas veces como simbolos raros queramos cambiar. Veamos:
update tabla set campo = replace(campo, 'ñ', 'ñ'); update tabla set campo = replace(campo, 'á', 'á'); update tabla set campo = replace(campo, 'ó', 'ó'); update tabla set campo = replace(campo, 'Ã', 'í'); update tabla set campo = replace(campo, 'íº', 'ú'); update tabla set campo = replace(campo, 'í©', 'é'); update tabla set campo = replace(campo, 'ú', 'ú'); update tabla set campo = replace(campo, 'í‘', 'Ñ');
Así de simple, si quisierais reemplazar más letras o simplemente un texto cualquiera podeis simplemente cambiar la función replace(), teniendo en cuenta que recibe tres parámetros, el primero es el campo que que quereis cambiar, el segundo lo que buscará, y el tercero por lo que lo cambiará.
¿Para qué lo habeis necesitado?
Un saludo!
angel 12 junio, 2013
realmente la solucion mas sencilla que he encontrado, con el phpmyadmin he solucionado los caracteres raros en un 5 minutos..
VideoTutoriales 12 junio, 2013
Supongo que al realizar alguna migración te habrá ocurrido algo parecido, ¿no?
Me alegro que te haya funcionado, a mi me ha salvado de algún que otro problema después de cambiar de servidor. Quizás cambiar los símbolos extraños o «raros» de esta forma en la base de datos no sea lo más óptimo, pero si es verdad que es rápido 😉
Gracias por el comentario! Salud!
Erik 13 agosto, 2013
Extraordinario me fue de gran ayuda
VideoTutoriales 14 agosto, 2013
Me alegro! hay que tener en cuenta la codificación de la base de datos para que los caracteres y letras no salgan con símbolos «raros»
Un saludo!
ricardo avalos 12 septiembre, 2014
Gran dato muchas gracias!!! De verdad me salvaste de un gran problema!.
Para terminar y completar esta genial ayuda.. cual sería el reemplazo para el caracter ¡
Nuevamente Gracias!!
videotutoriales 12 septiembre, 2014
Buenas Ricardo, me alegro de que te ayudara. (aunque sea en parte)
Con respecto a tu pregunta, los caractéres que saqué, fueron por deducción, teniendo en cuenta que eran palabras con acentos y demás, conocía la letra que iba en el lugar del símbolo «extraño», supongo que podrás hacerlo de igual manera, donde va el símbolo ¡ tendrá que ir una letra, utiliza el contexto de la frase a ver si así lo averiguas, si lo haces, pásate por aquí para compartirlo 😉
Gracias!
eduardo gomez 21 julio, 2016
muy bueno gracias amigo
Carlos Dk 10 agosto, 2016
Nada, me alegro de que te sirviera.
Dani Alonso 24 agosto, 2016
Bueno, es mejorable… Con eso sólo consigues reemplazar caracteres en minúscula. Sería interesante hacerlo también para las mayusculas, euro, eñes, interrogación de apertura, letras con diéresis, etc.
He perparado un script en PHP que conecta con la base de datos y se encarga de convertirlo todo, pero tengo un pequeño problema… ¿cómo diferenciar Á e í cuando ambos son exactamente el mismo caracter -> Ã ?
Un saludo,
Carlos Dk 26 agosto, 2016
Bueno, lo más sencillo sería cambiar la codificación a la hora de hacer cualquier importación o cambio. Si no fuera posible, la única posibilidad que se me ocurre, es que se hagan algunas condicionales, por ejemplo saber si la letra está entre otras letras, será minúscula, si está detrás de un punto será Mayúscula, la única pega que encuentro es que sea un nombre propio, pero será una pequeña excepción.
Un saludo!
Pedro 5 marzo, 2019
Sencillamente excelente, simple pero eficaz hermano, gracias por compartir, me has ahorrado una gran cantidad de tiempo.
Carlos Dk 5 marzo, 2019
Nada! Problemas que ya resolví y que a otros les puede ayudar en el camino! Hoy mismo he estado codificando en base64 en MySQL para resolver una problemática de importación por espacios, puntos y coma ; y saltos de línea que rompían el CSV!
Si tengo un rato lo documento!
Salud!
Daniel 17 septiembre, 2023
muchas gracias!
Carlos Dk 19 septiembre, 2023
Muchas de nada 🙂