Logo
  • Entries
  • Comments
  • Popular
Recent Posts
  • January 2012
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • July 2007
Recent Comments
  • Makendra It's always a pleasure to hear from someone with eexrpitse....
  • Rubén Ortiz Hola dependerá de varias cosas pero la respuesta sería NO. ...
  • jose miguel perea Buenos días, ¿La replicación entre maestro y esclavo es i...
  • Rubén Ortiz Si lo hacéis legal, con VMware el único problema son los cos...
  • Angel Hola, estamos valorando implementar baremetal para crear un ...
Popular Articles
  • Declaro la guerra al mosquito Tigre (35)
  • Phpbb3 - encode error converter (19)
  • MySQL - Variables básicas a configurar (17)
  • Reinicio programado Windows 2003 Server (16)
  • Plesk - Evitar el SPAM (10)
  • Home
  • Contacta
  • Hosting Linux
  • Legal
  • Sobre mí – About me

Phpbb3 – encode error converter

Posted by Rubén Ortiz on Feb 27, 2008 in Phpbb, Software | 18 comments

Hi again.

He estado probando la instalación de phpbb3, el nuevo foro basado en phpbb lanzado hace pocos meses. Como siempre, el principal escollo ha sido el cotejamiento de los caracteres. No voy a describir aquí el proceso de instalación, que para eso ya hay muchos y buenos tutoriales, por ejemplo:

  • Tomatoma.ws
  • Nymphetamine


Después de hacer una instalación desde 0, pasamos al capítulo de utilizar la utilidad del instalador phpbb3. Hemos de configurar algunos datos como el prefijo de las tablas donde se encuentra los datos a convertir, el password, etc. A continuación se comienza la conversión. No es especialmente lento. Después de acabar observé con desagrado que había problemas en la codificación de caracteres. Mi contexto era:

Origen
foro: phpbb 2.0.22
cotejamiento tablas: utf8_spanish_ci

después de la conversión

Destino
foro: phpbb 3
cotejamiento tablas: utf8_bin

Es decir, después del primer intento el foro quedó con las tablas con un collate tipo utf8_bin. Y como ya he dicho, tenía problemas en los caracteres. En el foro de phpbb no hay mucho soporte para los que, usamos caracteres que no utilizan los anglosajones y todo el “soporte” viene dado por los usuarios y la comunidad. En un primer momento, intenté esta solución. Se trataba de editar el fichero que realiza la conversión y cambiar una función por una variable y realizar una serie de modificaciones en las tablas. No funcionó. Pero no tengo claro si no funciono realmente, o contribuyo a encontrar la solución final del problema.

La clave definitiva la encontré en otro tópico del foro. En el phpbb 2.0.X hay un fichero llamado lang_main.php dentro de /language, si mal no recuerdo. Edité ese fichero y cambié la codificación de “ISO-8859-1″ a “UTF-8″. En ese momento, el foro en producción comenzó a mostrar caracteres extraños como rombos en lugar de acentos. Después de modificar este fichero, el lang_main.php, (modificamos el archivo dentro de la carpeta del lenguaje que tengamos activado en el foro. Si es español, sería /language/spanish/lang_main.php.) iniciamos como decimos, la conversión. La cuestión es que, después de hacer esto, los caracteres se mostraban bien en el nuevo foro phpbb3.

En fin, un problema menos ;)

Actualizado: creo que no expliqué bien lo relativo al lang_main.php. Este archivo está en la estructura del foro en phpbb2. Ese es el archivo que debemos editar. De alguna manera (la cual ignoro) el converter de phpbb3 mira ese archivo y lee que valor de codificación de carácteres tiene.  Lo debemos cambiar
a UTF-8. Todo en tu foro se verá mal, eso ya me pasó a mí. Pero luego, al ejecutar el converter del phpbb3 te deja bien las eñes, acentos y demás.

18 Responses to “Phpbb3 – encode error converter”

  1. nymphetamine says:
    28 de February, 2008 at 10:26 pm

    Gracias por el link XD, ademas interesante la resolucion del problema

  2. Estadisticas Febrero 2008 | Blog de Nymphetamine says:
    29 de March, 2008 at 4:59 am

    [...] al post Tutorial Instalacion phpBB3 rubenortiz.es al post Tutorial instalacion phpBB3 y update phpBB2 a phpBB3 Sigoblogueando.com en tres ocasiones, [...]

  3. David says:
    4 de April, 2008 at 6:37 pm

    This was the quickest way for replacing invalid characters after converting spanish phpBB2 -> phpBB3 forum.

    Disable your forum and log in using ssh to access your database

    1) mysqldump -u DATABASE_NAME -pPASSWORD DATABASE_NAME > dump.sql
    2) vim dump.sql
    3) :%s/CHARACTER_TO_BE_REPLACED/REPLACING_CHARACTER
    4) :w or :wq (to save & exit)
    5) mysql -u DATABASE_NAME -pPASSWORD DATABASE_NAME < dump.sql

    Another way is to log in to your mysql database and run the following commands (replace TABLE_NAME and COLUMN_NAME to match yours):

    syntax:
    update TABLE_NAME set COLUMN_NAME = replace(COLUMN_NAME,”CHARACTER_TO_BE_REPLACED”,”REPLACING_CHARACTER”);

    example for messed up spanish characters:
    update TABLE_NAME set COLUMN_NAME = replace(COLUMN_NAME,”á”,”á”);
    update TABLE_NAME set COLUMN_NAME = replace(COLUMN_NAME,”ó”,”ó”);
    update TABLE_NAME set COLUMN_NAME = replace(COLUMN_NAME,”ú”,”ú”);
    update TABLE_NAME set COLUMN_NAME = replace(COLUMN_NAME,”é¡”,”é”);
    update TABLE_NAME set COLUMN_NAME = replace(COLUMN_NAME,”ñ”,”ñ”);
    update TABLE_NAME set COLUMN_NAME = replace(COLUMN_NAME,”¿”,”¿”);
    update TABLE_NAME set COLUMN_NAME = replace(COLUMN_NAME,”Ô,”í”);

    I hope this saves your time on figuring out how to convert tables before conversion etc.

    David

  4. Rubén Ortiz says:
    7 de April, 2008 at 3:25 pm

    Hi David

    thanks by your contribution :) . In fact, the collate of non english characters is a never ending story, including phpbb software. Unfortunately, more users don’t have access by ssh to server. Normaly its a share server like Goddady Hosting Plans, you know. But thank you again, interesteing solution.

    Bye.

  5. David says:
    8 de April, 2008 at 12:54 am

    You can still use backup tool in phpBB3 that will allow you to download and save your database (if it’s not too big or have a superb internet connection) and replace those character locally then upload and restore the whole forum with clean and nice characters.BE CAREFUL with this method though as you can replace valid character. I would only use this for non-popular characters such as the above for my spanish forum. The order in this case was very important as replacing à as first would leave characters such us ¡, ³ etc. that might be difficut to replace on their own so always think twice before hitting enter and do backup as many time as you can!

  6. SEO says:
    25 de April, 2008 at 9:17 am

    Gracias!!! Tenía un foro con mas de 10000 mensajes y me estaba volviendo loco este tema de los acentos para pasarlo a phpbb3.

    Gracias gracias gracias!!! :-)

  7. Bane says:
    19 de May, 2008 at 11:57 pm

    Al bajar el lenguaje en español para le foro phpbb3 su estructura es completaente distinta al lenguaje de phpbb2.
    La carpeta se llama es y dentro no existe el lang_main.php, entonces habria que subir la carpeta del phpbb2 y usar esa como opcion de idioma? no chocaria un poco con la pagina de administracion?

  8. Rubén Ortiz says:
    21 de May, 2008 at 11:56 am

    Hola Bane

    no debes subir ninguna carpeta de phpbb2.X a la versión phpbb3. Si quieres lenguaje español en tu foro de phpbb3, debes bajarte el pack de español de phpbb3 y instalarlo en tu foro (no se si estás preguntando eso :S) Lo que, ahora me acuerdo de que me dió problemas, porque algunas imágenes no se veían bien y tuve que hacer algún cambio.

    Saludos.

  9. Abel says:
    25 de May, 2008 at 8:45 pm

    Hola Rubén!
    A lo que Bane se refiere es que una vez descargado el pack en español para phpbb3, dicho archivo “lang_main.php” no existe en el directorio.
    Yo tengo el mismo problema. Ante la ausencia de este archivo no estoy seguro qué debo editar.
    Espero que puedan ayudarme :)
    Saludos!

  10. Rubén Ortiz says:
    26 de May, 2008 at 10:07 am

    Creo que ahora entiendo la confusión. Quizá no lo expliqué del todo bien :)
    Ahora actualizaré el post pero lo comento ya aquí. Tenemos un foro viejo (phpbb2) A y un foro nuevo B(phpbb3). El archivo que debemos editar, es el lang_main.php del foro A. Entonces, realizar la conversión, que se inicia en el wizard del foro B.

  11. Abel says:
    26 de May, 2008 at 11:59 pm

    Mmm entonces tendré que descargar phpbb2, buscar el lang_main.php y editarlo. Luego pegarlo en la carpeta de phpbb3 ¿o me equivoco?
    Saludos y gracias ;)

  12. Rubén Ortiz says:
    27 de May, 2008 at 9:06 am

    No tienes que descargar nada, porque en teoría, si estás migrando de phpbb2 a phpbb3, ya tienes ese archivo en la estructura de phphb2. A no ser que lo hayas borrado todos los ficheros del foro de phpbb2. Entiende que hablo de una migración de phpbb2 a phpbb3. No de otras situaciones. Lee el comentario anterior al tuyo, es esa situación. 2 foros (2 carpetas), el lang_main.php en la instalación de phpbb2 “antigua”.

    Saludos.

  13. Abel says:
    27 de May, 2008 at 4:45 pm

    Claro. Pero yo ho he migrado de phpbb2 a phpbb3, sino que he instalado el phpBB3 en limpio y por lo tanto no existe el archivo lang_main.php. :(
    Y lo peor es que al inentar publicar un mensaje con acentos y demás, aparece un error. Aquí un ejemplo:

    Warning: Unexpected character in input: ”’ (ASCII=39) state=1 in /home/webcindario/p/r/pruebaphp3/phpBB/includes/utf/data/utf_compatibility_decomp.php on line 2

    Parse error: syntax error, unexpected $end, expecting ‘)’ in /home/webcindario/p/r/pruebaphp3/phpBB/includes/utf/data/utf_compatibility_decomp.php on line 2

    Saludos y gracias por tu atención :)

  14. Abel says:
    8 de June, 2008 at 2:06 am

    Alguna sugerencia?

  15. Rubén says:
    13 de June, 2008 at 10:45 am

    Lo mejor es que te registres en el foro de phpbb.com. Ahí encontrarás la solución con un poco de paciencia.
    Saludos.

  16. portal-seo says:
    25 de August, 2008 at 10:17 pm

    Gracias Rubén, tu solución funcionó a la perfección.

  17. Mariano says:
    26 de August, 2008 at 3:03 am

    Rubén; Te pido una ayuda, con un grupo de amigos tenemos un foro Phbb3. Desde hace un tiempo que tenemos un problema, se accede bien al foro, uno se puede logear, pero al intentar ingresar a un subforo o al panel de control la pantalla aparece en blanco.
    Realmente ya miramos todo lo que conocemos y no encontramos la forma de solucionarlo; si tenes idea de como hacerlo te lo agradeceria mcuhisimo.
    Te paso el link del foro para que peudas ver el problema: http://www.306argentina.com.ar/foro

    Desde ya muchas gracias, Saludos Mariano

  18. admin_papa says:
    31 de August, 2008 at 10:28 am

    Hello Everybody

    Just wanted to share my new experience.

    If your system denies to start due to an error corresponding to missing HAL.DLL, invalid Boot.ini or any other critical system boot files you can repair this by using the XP installation CD. Just boot from your XP Setup CD and enter the Recovery Console. Then launch “attrib -H -R -S” on the C:\Boot.ini file and delete it. Run “Bootcfg /Rebuild” and then Fixboot

    Cheers,
    Carl

  19. Jaume says:
    9 de January, 2009 at 9:43 pm

    Cogiendo de base la aportación de David he hecho las sentencias SQL para corregir los caracteres incorrectos de los idiomas español y catalán después de actualizar a phpBB 3.

    Saludos,

    EDITADO POR Rubén Ortiz: como el script eran bastantes sentencias, he creado un .sql con las mismas, y subido al blog, para su fácil descarga.

    Descargar Phpbb3_reemplazar_caracteres

    Gracias a jaume de maduixa.net

Leave a Reply

Click here to cancel reply.

Nube de Tags

apache bare metal benchmark cacti centos dell drupal esxi General gripe A Hardware humor IIS kayako Linux lpi lyric Lyrics memcached mysql nginx openfiler OpenVZ openx Parallels php Phpbb plesk postgresql proftpd raid SQL Server ssh svn trac ubuntu varnish Virtualizacion Virtuozzo Virtuozzo Linux Warphammer.net Windows windows 2003 wordpress zabbix

Categorias

  • 2003 Server
  • Apache 2.X
  • benchmark
  • Centos
  • Cuanto (Luser) Cabron
  • ESXi
  • General
  • Hardware
  • IIS
  • Lighttpd
  • Linux
  • Lyrics
  • MySql
  • Nginx
  • OpenVZ
  • Parallels
  • Parallels Bare Metal
  • Php
  • Phpbb
  • Plesk
  • PostgreSQL
  • Prestashop
  • Software
  • SQL SERVER
  • Ubuntu
  • Varnish
  • Virtualizacion
  • Virtuozzo
  • Virtuozzo Windows
  • VMWare
  • Warphammer.net
  • Windows
  • Wordpress

Blogroll

  • David Toribio
  • EasyCompany.es
  • Marius Duch
  • Series
  • Warphammer.net

Recursos

  • Backup Plesk9
  • CentOS 5 32 bits RPMs
  • CentOS 5 64 bits RPMs
  • Lighttpd
  • MySQL Tunner
  • OpenVZ – Panel – PROXMOX
  • OpenVZ – Panel – VTONF
  • OpenVZ Wiki
  • Parallels Virtual Automation Resources
  • Plesk 8 Docs
  • Plesk 9 Docs
  • Plesk Hacker
  • Port80 – Compression Check
  • Virtuozzo DOCS
  • Virtuozzo Lin Commands
  • Virtuozzo Win Commands
  • Virtuozzo Windows Docu

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org
Designed by Elegant Themes | Powered by Wordpress