Hola javier,tenemos el problema este de los cotejamientos,ademas de la limitada de solo 50mb como maximo de la base de datos.
Es en my sql 5.0 pero lo tenemos que hacer uno a uno.
Nos mudamos?
Moderador: Achilles
Juan:
? Caray que rapido en responder !
Es cierto que el tamanno de la bb.dd es limitadillo y que quizas (no se) igual ya no quede mucho espacio libre pero si te creas un "trigger" que se ejecute antes de realizar el insert en bb.dd pudieras examinar las cadenas de los campos de asunto y cuerpo de un mensaje para retirar los caracteres problematicos...
A mi me paso algo similar en un trabajo con los apostrofes (lo usaban catalanes que los utilizan en 1 de cada 3 palabras) y lo solucione asi... es una niapa facil de probar que igual durante un tiempo salva de migrar toda la pagina... era solo una idea sin tener ni idea de como esta todo montado.
un saludo,
y muchas gracias por tu esfuerzo en hacer que esto funcione para todos "for free"
? Caray que rapido en responder !
Es cierto que el tamanno de la bb.dd es limitadillo y que quizas (no se) igual ya no quede mucho espacio libre pero si te creas un "trigger" que se ejecute antes de realizar el insert en bb.dd pudieras examinar las cadenas de los campos de asunto y cuerpo de un mensaje para retirar los caracteres problematicos...
A mi me paso algo similar en un trabajo con los apostrofes (lo usaban catalanes que los utilizan en 1 de cada 3 palabras) y lo solucione asi... es una niapa facil de probar que igual durante un tiempo salva de migrar toda la pagina... era solo una idea sin tener ni idea de como esta todo montado.
un saludo,
y muchas gracias por tu esfuerzo en hacer que esto funcione para todos "for free"
Lo bueno de los triggers es que podrias hacer cosas fuera del motor del foro (te evitas tener que aprender bien sus tripas) y para transformaciones de caracteres y demas se adapta muy bien. Piensa que el motor del foro al final de postear un mensaje monta una sentencia de SQL del tipo
insert TABLA (campo1, campo2...) VALUES (valor1, valor2...)
Un trigger permite manipular los campos valor1, valor2 antes de que los datos se almacenen en la BB.DD... ah? es donde hay que examinar las variables que se correspondan con los campos asunto y cuerpo de los mensajes para eliminar/cambiar los acentos y caracteres "raros" por otros que no den guerra... podrias hacer esto dentro del motor del foro pero seguro que es mucho mas complicado y sobre todo perderias mucho tiempo "entendiendo" lo que hace el motor... no merece la pena.
Lo que yo miraria seria lo siguente:
1o localizar en que campos de que tablas se almacenan los mensajes... seguramente sera en la misma tabla (habra fijo 2 campos, uno para el cuerpo del mensaje y otro para el asunto).
2? sobre esa tabla asignarle el trigger para realizar inserciones
3? para codificar la logica dentro del trigger busca ejemplos googleando.
(*) ya te dije que a mi me paso esto con los apostrofes y lo que hacia era cambiarlos por otro caracter ya que si no lo hacia la sentencia insert fallaba.
(*) de verdad que no es dificil si se parte de un ejemplo sencillito... si te apetece probar la idea entre todos seguro que lo sacamos y al menos si hay que migrar esto nos vamos tranquilos pensando que lo intentamos... es como cambiar la radio del corolla (parece dificil si no se tiene idea) pero con la informacion adecuada lo puede hacer casi cualquier persona.
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
un saludo,
insert TABLA (campo1, campo2...) VALUES (valor1, valor2...)
Un trigger permite manipular los campos valor1, valor2 antes de que los datos se almacenen en la BB.DD... ah? es donde hay que examinar las variables que se correspondan con los campos asunto y cuerpo de los mensajes para eliminar/cambiar los acentos y caracteres "raros" por otros que no den guerra... podrias hacer esto dentro del motor del foro pero seguro que es mucho mas complicado y sobre todo perderias mucho tiempo "entendiendo" lo que hace el motor... no merece la pena.
Lo que yo miraria seria lo siguente:
1o localizar en que campos de que tablas se almacenan los mensajes... seguramente sera en la misma tabla (habra fijo 2 campos, uno para el cuerpo del mensaje y otro para el asunto).
2? sobre esa tabla asignarle el trigger para realizar inserciones
3? para codificar la logica dentro del trigger busca ejemplos googleando.
(*) ya te dije que a mi me paso esto con los apostrofes y lo que hacia era cambiarlos por otro caracter ya que si no lo hacia la sentencia insert fallaba.
(*) de verdad que no es dificil si se parte de un ejemplo sencillito... si te apetece probar la idea entre todos seguro que lo sacamos y al menos si hay que migrar esto nos vamos tranquilos pensando que lo intentamos... es como cambiar la radio del corolla (parece dificil si no se tiene idea) pero con la informacion adecuada lo puede hacer casi cualquier persona.
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
un saludo,
Juan:
Si tienes acceso a mysql desde linea de comandos... quiero decir tecleas
mysql -u <tu_usuario> -p
metes despues una contrase?a y ya estas dentro, imagino que despues desde alli haces copy pasteo de scripts y los lanzas, es muy probable que podamos crear el/los trigger que hagan falta... habria que confirmar antes lo que decia muser ... que el hosting lo permita ya que es muy habitual que esas funciones venga capadas en sitios gratuitos... una vez confirmado puedo hacer una prueba en casa... miro las tablas que crea "phpBB version 2+" (que es la version que dice la pagina que se usa)... hago la prueba con las vocales (mayusculas y minusculas) que van acentuadas por vocales sin acentuar, si funciona ya lo iriamos refinandolo
un saludo,
[/b]
Si tienes acceso a mysql desde linea de comandos... quiero decir tecleas
mysql -u <tu_usuario> -p
metes despues una contrase?a y ya estas dentro, imagino que despues desde alli haces copy pasteo de scripts y los lanzas, es muy probable que podamos crear el/los trigger que hagan falta... habria que confirmar antes lo que decia muser ... que el hosting lo permita ya que es muy habitual que esas funciones venga capadas en sitios gratuitos... una vez confirmado puedo hacer una prueba en casa... miro las tablas que crea "phpBB version 2+" (que es la version que dice la pagina que se usa)... hago la prueba con las vocales (mayusculas y minusculas) que van acentuadas por vocales sin acentuar, si funciona ya lo iriamos refinandolo
un saludo,
[/b]
otra posible cosa a probar...
Si la BB.DD utiliza UTF-8 (que no es otra cosa que 2 bytes para representar 1 caracter) y la pagina veo que tiene caracteres iso-8859-1 (1 byte para representar 1 caracter), si en las cabeceras de las paginas cambias:
<meta>
por
<meta>
igual el problema si no se resuelve si que mejora y la pagina para postear comentarios falla menos...
no conozco phpBB pero igual se puede hacer a traves de alguna opcion del panel administrativo... sino habria que tocar el fichero .html que se corresponede con la pagina y modificarlo a pelo...
... siento ser tan tocahuevos (he visto que llevais tiempo hablando de este problema e igual esto ya lo habeis pensado) pero a veces los problemas de este tipo se resuelven asi... a base de proponer y proponer ideas.
<meta>
por
<meta>
igual el problema si no se resuelve si que mejora y la pagina para postear comentarios falla menos...
no conozco phpBB pero igual se puede hacer a traves de alguna opcion del panel administrativo... sino habria que tocar el fichero .html que se corresponede con la pagina y modificarlo a pelo...
... siento ser tan tocahuevos (he visto que llevais tiempo hablando de este problema e igual esto ya lo habeis pensado) pero a veces los problemas de este tipo se resuelven asi... a base de proponer y proponer ideas.











