Jump to content

Проблема с кодировкой в новой версии из-за файла db.php

Featured Replies

Posted
comment_90615

Пытался обновить движок с версии 4.0.9.1 до новой 4.0.10.2, но после загрузки файлов слетела кодировка, методом тыка обнаружил, что дело в файле system/DB/DB.php, а конкретней в строке:

 

в старом файле db.php было:

self::$multitons[ $identifier ]->set_charset( self::$multitons[ $identifier ]->charset );

в новом файле db.php стало:

if( !self::$multitons[ $identifier ]->set_charset( self::$multitons[ $identifier ]->charset ) )
{
/ But if setting that failed, fall back to UTF8 /
self::$multitons[ $identifier ]->charset = 'utf8';
self::$multitons[ $identifier ]->collation = 'utf8_unicode_ci';
self::$multitons[ $identifier ]->binaryCollation = 'utf8_bin';

self::$multitons[ $identifier ]->set_charset( self::$multitons[ $identifier ]->charset );

 

Писал в суппорт, но они не решили проблему ссылаясь на то, что проблемы с хостером, то есть не подключается кодировка.

This would indicate that, while your server does support UTF-8 MB4, it does not support connecting via that character set. This is something you would need to consult with your host regarding. The check you mention was actually added because of this as, more often than not, when setting the character set fails, the server will fallback to the default character set, which is typically latin1 rather than utf8.

Further, this also means that the data in your database is encoded using a different character set, and will likely need to be re-converted before it will work properly.

Хостер тоже ничего внятного не сказал, мол не понимаю о чем речь, проверял на другом сервере, тоже самое. 

Может кто-то сталкивался с подобной проблемой и знает как ее решить? :(

Сорри, забыл прикрепить скрин:

 

 

error.jpg

  • Author
comment_90624

В conf_global.php  sql_utf8mb4 установить false. Проверить состояния данных в бд.

false прописал, в базе такое:

 

 

error2.jpg

error3.jpg

  • Author
comment_90993

Это доб обновления или после?

Каким образом форум работал до этого?

 

Это до обновления, то есть как только залил файлы для обновления сразу битая кодировка. Как работал до этого не знаю, так как в phpmyadmin тоже были крякозябры, но информация на форуме отображалась корректно.

Решил вопрос через суппорт IP Board, что они сделали не совсем понял, вот может кому-то будет полезный их ответ:

Thanks! The problem is that your server technically supports UTF-8 MB4, however it is not configured correctly to do so - as such, as of a few versions ago, we attempt to workaround this by reverting back to regular UTF-8 in the event using UTF-8 MB4 fails.

For your specific circumstance, however, the site was converted to use UTF-8 MB4 but since that fails, it did not actually convert anything at all. I have reconverted the database using regular UTF8, and that seems to have resolved the problem.

comment_91004

Что то странно! Выделил на скрине, у меня по другому

3.png

2.png

1.png

 

 

Edited by Spray

comment_91017

На первом скриншоте кодировка по умолчанию которую примут таблицы, если она не будет явно указана. Ничего здесь странного нет.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.