Phpbb3 y como solucionar el encode error converter

¿Te has encontrado alguna vez con el frustrante error de codificación del convertidor en phpBB3? Si es así, sabrás lo problemático que puede ser para tu foro. 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. En esta guía, te mostraremos cómo solucionar este phpBB3 encode error converter de manera efectiva, asegurando que tu comunidad online funcione sin problemas y sin problemas de visualización de caracteres.

Instalando PHPBB3

Después de hacer una instalación desde cero, 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.

Escenario de la instalación de PHPBB

Origen: phpbb 2.0.22 cotejamiento tablas: utf8_spanish_ci

Después de la conversión

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.

Solucionando el problema en phpbb3 de encode error converter

La solución clave para resolver el error de codificación durante la conversión a phpBB3 implica una modificación en la instalación original de phpBB2. En phpBB2, dentro del directorio /language, se encuentra el archivo lang_main.php. Antes de ejecutar el convertidor de phpBB3, es crucial editar este archivo y cambiar la codificación de caracteres de "ISO-8859-1" a "UTF-8".

Es importante destacar que debes modificar el archivo lang_main.php ubicado en la carpeta del lenguaje activo de tu foro phpBB2 (por ejemplo, /language/spanish/lang_main.php si el idioma es español).

Tras esta modificación en el archivo de phpBB2, al ejecutar el convertidor de phpBB3, este leerá la codificación UTF-8 y realizará la conversión de manera correcta, preservando los caracteres especiales como eñes y acentos en el nuevo foro phpBB3. Ten en cuenta que, inmediatamente después de editar el lang_main.php en tu foro phpBB2, es probable que los caracteres se muestren incorrectamente. Esto es un paso necesario para que el convertidor de phpBB3 funcione adecuadamente.

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.

Links

21 thoughts on “Phpbb3 y como solucionar el encode error converter

  1. Pingback: Estadisticas Febrero 2008 | Blog de Nymphetamine

  2. David says:

    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

  3. Rubén Ortiz says:

    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.

  4. David says:

    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!

  5. SEO says:

    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!!! 🙂

  6. Bane says:

    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?

  7. Rubén Ortiz says:

    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.

  8. Abel says:

    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!

  9. Rubén Ortiz says:

    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.

  10. Abel says:

    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 😉

  11. Rubén Ortiz says:

    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.

  12. Abel says:

    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 🙂

  13. Mariano says:

    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

  14. admin_papa says:

    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

  15. Jaume says:

    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

  16. xbromog says:

    ¿Alguien ha desarrollado o conoce alguna herramienta eficiente para convertir foros phpBB3 antiguos a una codificación moderna (UTF-8) minimizando la pérdida de datos o la aparición de caracteres extraños, especialmente cuando el foro original tiene una codificación desconocida o inconsistente?

  17. Ruben Ortiz says:

    Hola! lamentablemente hace mucho que no toco ese software y no te sabría decir. Para convertir un foro phpBB3 antiguo a UTF-8 minimizando errores con codificación desconocida, no hay una herramienta mágica. El convertidor de phpBB es un punto de partida, pero puede requerir ajustes. Se pueden usar herramientas como iconv (con precaución) o scripts personalizados. La clave es hacer una copia de seguridad, intentar identificar la codificación original, convertir el volcado de la base de datos (probando diferentes codificaciones si es necesario), y luego revisar y corregir los errores en el nuevo foro phpBB3. Requiere paciencia y puede necesitar ajustes manuales.

Leave a Reply

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