PDA

View Full Version : Convert ISO-8859-1 to UTF-8


lange
08-15-2019, 03:44 PM
For a clean/fresh install of vB 3.8.11 only.

Take a look at https://forum.vbulletin.com/forum/customizing-vbulletin/vbulletin-languages-phrases/251037-importing-utf-8-languages.

I am not a coder so use the procedure at your own risk but it works fine on my custom 3.8.11 (and on my previous vB versions).

.

--------------- Added 15 Aug 2019 at 23:55 ---------------

For the details.

Test the following procedure on a fresh vb3.8.11 install :

1) In your XML language file, replace the two ISO parameters by the following code:

<?xml version="1.0" encoding="UTF-8"?>
<charset><![CDATA[UTF-8]]></charset>
2) Save in UTF-8 (be sure to save in UTF-8, I used Beyond Compare tool to do it)
3) Import and overwrite your new language XML file in AdminCP
4) Change the HTML Character Set at UTF-8 for the languages and by example set fr-FR as Language Code in the other language if your first language is French
5) In the file includes/class_xml.php, replace the code:
function &parse($encoding = 'ISO-8859-1', $emptydata = true)by the following code:
function &parse($encoding = 'UTF-8', $emptydata = true)It works fine on my custom vB 3.8.11 (and my previous vB3.8.x versions).

For the record, I used the UTF-8 to keep the french vBulletin accents in a UTF8 WordPress blog via an old WordPress-vBulletin bridge.

ShikiSuen
11-27-2019, 07:26 PM
These edits are far from sufficient.

Please also check all PHP files related to XML file generation / download. Otherwise, your exported XML files (can be languages, styles, your PMs, etc.) will still be in the ISO charset.

Also, if you want to do fresh installation, prior to that you can edit those MySQL-related files in the "install" folder to make sure that:

1. The newly created database is in "CHARSET utf8mb4 with COLLATE utf8mb4_unicode_520_ci".

2. All FULLINDEX parts are made WITH PARSER NGRAM to ensure that the content indexing with East-Asian languages become effective. (This also requires further edits of other PHP files to correctly parse double-byte contents.) // You can skip this step if you don't need to provide Chinese / Korean / Japanese support in your forum.

3. MySQL version at least 5.7.6. If MariaDB or Percona, please doublecheck compatibilities with "utf8mb4_unicode_520_ci" and NGRAM.

I guess you are good to go if everything addressed above is set.

lange
12-11-2019, 11:11 AM
Thanks, your are right for the asian characters. :up:

For the latin characters, the steps in the post 1 are sufficient.