jnikola Posted September 16 Posted September 16 Hi, I'm in the process of upgrading an old IP.Board v3.4.6 to the current version. As my current server will be shut down soon, as the first step I need to migrate the v3 forum to a new server and then install the latest php + mysql and do the upgrade. The new server has the same PHP5.5 and MySQL 5.5. versions. 10+ years ago the forum was migrated from phpBB. After moving all the files and doing a database export/import I am getting the following error: Quote Your settings could not be read by IP.Board. This is a fatal error and IP.Board cannot function while this issue persists. This issue is generally caused by changing your character set in the ACP to one that does not support data stored in the rest of your settings, or by restoring a database backup/completing a server transfer and importing your database tables using the wrong character set or collation. You should contact IPS Technical Support for further assistance. The original database has utf8_general_ci collation set for all tables. The HTML has <meta charset="UTF-8" /> set. There are non-ascii characters used as it's a non-english forum. I did the export/import using the following commands, specifying the character set. $ mysqldump -u forum_user -p --default-character-set=utf8 -r /home/user/forum.sql forum_db $ mysql -u forum_user -p --default-character-set=utf8 forum_db < forum.sql  Any ideas on how to resolve this?
jnikola Posted September 16 Author Posted September 16 .. or at least how to debug this. I cannot find any error logs. Thanks
Marc Posted September 16 Posted September 16 Unfortunately we no longer support this version, nor the upgrades from it. However if you are getting that error, you need to check your conf_global is accessable, and that it has the correct database settings in it, that have full permissions on your database. As something there isnt connected properly
jnikola Posted September 16 Author Posted September 16 Hi Marc, The database connection works good, as when I change the details to bad login credentials, it returns a different error about not being able to connect to the database. I also successfully tested those credentials against queries. Ok, I'll see if I can figure this out, ...but is there any way to get some logs or clear the cache without having access to the ACP ? Thanks.
Marc Posted September 16 Posted September 16 If I remember correctly there are logs in the cache/sql folder if its a sql error. But that is off the top of my head. Its a very long time since I have looked into any errors on the 3.x platform.
jnikola Posted September 16 Author Posted September 16 This seems to be some issue with deserializing caches stored in the database, especially the long "settings" value.. I'll see if I can figure it out..
Stuart Silvester Posted September 16 Posted September 16 It's most likely caused by some kind of character set issue. It could be that the servers default connection charset is different to the old server and I think IP.Board 3 would use the default.
jnikola Posted September 16 Author Posted September 16 I tried to replicate everything as it was on the old server. A community member helped me out with a script that rebuilds the caches and that resolved the problem partly as the forum started working again. It's just that I lost many non-ascii characters in the templates and posts. So yes, it's some issue related to db migration and character encodings,.. maybe because it was initially converted from phpBB. I hoped that specifying UTF8 during export/import would help with that.. I'll try to export the DB using Percona Xtrabackup as that one is done on binary level I believe, but I was hoping that I can do a simple mysql dump and importing that.
jnikola Posted September 17 Author Posted September 17 Hi again. To summit it up, the script that regenerates the caches helped a lot. Thanks Kiril! But there is a problem with non-latin characters and UTF8 encoding. Please let me know if you have any suggestions as I was able to make it work but I'm not sure how this might affect the upcoming upgrade to V4. - All tables and columns are already "utf8_general_ci" - MySQL server config by default sets the character set to utf8 for "mysql", "mysqld" - php.ini has the default_character_set as utf8 - ACP document encoding value is UTF8 - conf_global.php had the character-set value as "" After migrating the DB to a new server, that should be identical to the old, with these settings I am having issues with non-latin characters in posts and templates. When setting $INFO['sql_charset'] = 'utf8' in conf_global.php problems persist. When setting $INFO['sql_charset'] = 'latin1' in conf_global.php it works good. I'm confused as I believed that after conversion from phpBB the IPB forum is UTF8 encoded but it seems that it is Latin1. If leaving as $INFO['sql_charset'] = 'latin1' while everything else is set to utf8, might that in any way negatively affect the upgrade to V4?
teraßyte Posted September 17 Posted September 17 You must convert the tables to utf8mb4 for 4.x, so at that time everything should fix itself. 🤔
Marc Posted September 17 Posted September 17 If your tables arent in UTF8MB4, the upgrader will prompt to convert them
Recommended Posts