News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Russian Language Problem

Started by icehawke, January 25, 2021, 10:12:55 AM

Previous topic - Next topic

icehawke

My forum is almost entirely in English. However, some users have asked for native language boards. Italian was no issue and has been functioning great for almost a decade. Recently some Russian members asked for one.

Their posts are being messed up. The subject is in cyrillic and displays fine. However the body gets transliterated. It tries to show "regular" letters and such and becomes unreadable for the Russian members. The only thing I can think of is one of the mods I have installed is switching the body text from UTF-8 to something else and therefor munging it up. With 50 mods applied, it's going to take a long time to figure out if one of them is the issue or not. Is there anything else that can be checked that is easier to look into? :)

Kindred

You don't use a mod for UTF-8, you need to update the whole forum in the Admin section
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

icehawke

Quote from: Kindred on January 25, 2021, 10:24:40 AM
You don't use a mod for UTF-8, you need to update the whole forum in the Admin section

Under languages everything is UTF-8 except English which is ISO-8859-1. I would find it hard to believe that the English encoding would mess up the Russian language, but I suppose weirder things have happened.

Kindred

You need to do more than install the UTF-8 language pack -- you need to change the entire system to UTF-8 -- because if you still have english at ISO, that suggests that you never did the conversion and that the DATABASE is not UTF8
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

icehawke

Okay, that makes sense. Where is this conversion you speak of? I don't recall ever doing one. But then I am old and my memory is not as good as it once was :)

Kindred

Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

icehawke

On that guide, will the "3. Go to Forum Maintenance > Convert the database and data to UTF-8 (this option will only be available if SMF detects a database version which supports UTF-8)." entry not be there if the upgrade has been done previously?

It is not present on my forum. Database is MySQL 5.6.50.


Kindred

1- check the database.  COnfirm that the Tables are UTF8-general and that the columns IN the tables are UTF8 (just check a few)
2- check that  the line
$db_character_set = 'utf8';
is in your Settings.php file
3- confirm that your index.English.php has $txt['lang_character_set'] = 'UTF-8'; and not $txt['lang_character_set'] = 'ISO-8859-1';
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

icehawke

Going to respond in reverse order.

3. Yes.
2. Yes.
1. Some are utf8_general_ci, and some are latin1_swedish_ci (wtf). Swedish has never been a default on my forum in the last decade or longer. Always has been English. I dread having to manually change all of the columns to utf8.

Kindred

#9
latin1Iswedish_ci was the default for MySQL for years I believe....

BACKUP FIRST!!!!!

ALWAYS BACKUP!!!!




Try this...
ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

(do the second line for each table)


for MySQL 5.5.2 or older which didn't support 4-byte UTF-8
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

icehawke

It all seems to be working now. Thanks for all of the help :)

Advertisement: