Problemas con caracteres actualizando de 3.1.1-4 a 3.3.0-6

Hola,

OJS 3.1.1-4
Multijournal
Multilanguage

Estoy intentando actualizar desde 3.1.1-4 a 3.3.0-6.

En un primer intento obtuvimos error por valores nulos en los locales y valores de string incorrectos en los Subject de las plantillas de correo.

Intentamos ir por la versión intermedia 3.2.1-1, pero obtuvimos el mismo error.

Conseguimos saltar este error realizando la siguiente consulta a la db:

update user_settings set locale = ‘es_ES’ where locale like ‘’ or locale is null;
update submissions set locale = ‘es_ES’ where locale like ‘’ or locale is null;
update author_settings set locale = ‘es_ES’ where locale like ‘’ or locale is null;

Pero no hemos conseguido puentear el error siguiente, que se refiere al campo Subject de las mail templates.

Obtenemos el siguiente error:

PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xD9\x86\xD8\xB4\xD8\xA7...' for column 'subject' at row 1 in /var/www/html/revistas/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:115
Stack trace:
#0 /var/www/html/revistas/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(115): PDOStatement->execute(NULL)
#1 /var/www/html/revistas/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(489): Doctrine\DBAL\Driver\PDOStatement->execute()
#2 /var/www/html/revistas/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(664): Illuminate\Database\Connection->Illuminate\Database\{closure}('INSERT INTO ema...', Array)
#3 /var/www/html/revistas/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback('INSERT INTO ema...', Array, Object(Closure))
#4 /var/www/html/revistas/lib/pkp/lib/vendor/laravel/framework/src/Illum in /var/www/html/revistas/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 671

¿Alguna idea o sugerencia al respecto?

Gracias de antemano.

Saludos,
Juan

Hola Juan,

Seguro que ya lo has hecho, pero debo empezar recordando que es IMPRESCINDIBLE tener un backup al día cuando se hace una actualización en “minor” (o sea de 3.1 a 3.3).

El camino que deberías seguir para hacer un upgrade a 3.3 es (como ya has intentado) pasando primero por la última 3.2. OJS 3.3 asume que partes de una 3.2 y si no es así, el resultado será siempre incierto.

Dicho eso, si hay problemas de upgrade, habitualmente eso es debido a que la BD no está del todo fina y hay que recurrir a “artesanías”. :slight_smile:

Para las plantillas de correo, mi sugerencia es que borres el contenido de esas tablas (truncate) y cuando termine el upgrade, las substituyas con el contenido de las mismas de una versión OJS 3.3 limpia.

Para las tablas de usuario, autor y submission… el tema es más complicado pq. ojs NO te va a aceptar duplicados y tampoco te va a aceptar localización en campos que no lo admiten. Si las consultas update que habéis hecho os funcionan adelante… pero creo que forzar “es_ES” en todos los campos no tendría que funcionar y habría que ser más quirurgico.

Aquí tienes un post de Alec dónde explica que campos son localizados y que campos no:

Por cierto, se acaba de publicar la versión 3.3.0-7… así que yo de ti aprovechaba y hacía el upgrade a la última. :wink:

Un saludo,
m.

Hola Marc,
Gracias por tu respuesta.
Ok. Hacemos un intento.
Saludos,
Juan

Hola buen día,

Disculpa como resolvieron el error?
puede compartirme su solución,
por favor

Saludos!
José Cándido