Description: This script converts the database of vBulletin forums (from and to) any of the charsets that are supported by iconv. also it has the ability to convert the tables of the hacks you had installed them.
Caution: This is BETA PRODUCT, provided "As Is" without warranties, Test it using a copy of your vBulletin database not using your live vBulletin, Since this is a BETA PRODUCT use it for testing only.
Why this product?
My forums encoding is windows-1256, so I can't get full advantages of AJAX functions like the quick reply and the quick edit without some encoding problems.
I decided to convert my encoding and build this script. and I'll convert to utf-8 (Done).
This product was tested on a copy of real live vBulletin and it seems to be good.
Requirements:
vBulletin 3.5.4+
iconv php extension is installed on your system, or your PHP version is PHP5
Import the file product product-charset_converter.xml (Choose Yes when Upgrade)
Refresh your admincp, go to vCharset Converter->Settings and set (the Source Charset Encoding & the Destination Charset Encoding).
Go to vBulletin Options -> Censorship Options -> Blank Character Stripper, empty its value and click save.
How to use?
Close your forum.
Backup your database.
Add a new language and call it English for example, its charset is your Destination Charset Encoding.
Set your options (profile.php?do=editoptions) to use it as a default language.
Change the charset of your old langauge into Destination Charset Encoding.
Go to vCharset Converter -> Manage tables. I'll leave this to you to explore it. But edit the userfield table and the custom fields to it.
Go to vCharset Converter -> vCharset Converter. if you see a message like:
Quote:
The iconv PHP module is not presented, please contact your system administrator to enable/install it.
this means you need to install iconv.
You will see a drop-down menu. select the table you want to convert, set the number of items to convert per cycle (default 1000) and press submit.
You have to do this with each table in the drop-down menu.
Test your forum search for Non-English letters, if you don't get the expected results, read the "Search Problems".
Open your forum.
After finishing tell me what are your impression, idea and faced problems.
Search Problems
What is the problem? After converting you may get no (well-expected) results when doing search, I had faced this problem after converting to UTF-8.
What is my circumstances? Mysql 4.1.x, Full-Text search and I converted to utf-8.
What is the reason? Full-Text search has Restrictions that say: "all columns in a FULLTEXT index must use the same character set and collation.".
So if you use fulltext search with MySQL 4.1.x and convert to utf-8 perform these queries: (after converting post and thread tables)
Code:
ALTER TABLE post MODIFY pagetext mediumtext COLLATE utf8_unicode_ci
ALTER TABLE post MODIFY title VARCHAR(250) COLLATE utf8_unicode_ci
ALTER TABLE thread MODIFY title VARCHAR(250) COLLATE utf8_unicode_ci
Dont forget to add your table prefix if you have
- If you use vBulletin built-in search engine (with any MySQL version), then consider to Rebuild Search Index (Maintenance -> Update Counters -> Rebuild Search Index)
You may read this thread http://www.vbulletin.com/forum/showthread.php?t=191315
Email Problems
After the conversion, my users had reported that they couldn't read the notification emails. the emails are sent with utf-8 encoding.
Not all the users do know how to change the encoding of a page. you may learn them, this is the only solution.
Problem had been faced with Hotmail (confirmed by me) and Yahoo (unconfirmed).
No problem with Gmail (confirmed by me).
Known issues:
Users titles had gone away after converting. (Still exists in beta 2)
Versions
1.0.0 BETA 1 (initial release). (11. Jun 2006)
1.0.0 BETA 2 new features: (4. Aug 2006)
Manage Tables: Now you can add or edit your tables, this will make converting of additional tables very easy.
Now you can see all the tables in your database, with their statues and you have the ability to change this status to "no need" or you can add the fields and the primaryid field, or you can edit the information of any table before you go on converting it.
Forums had been Converted using this tool: (PM me to list your forum)
Your script is extremely good. During the last 4 days I am trying to convert the database of my forum from greek ISO to utf8, I tried hundrend ways without the desired output and when I installed the vCharset all conversions made automagically and without any problems as fas as I can see now.
I have a question: I removed a part of data of my database by accident and now in product list (in admincp) vCharset is not shown anymore (in order to uninstall it since the convert is done). Also menu "vCharset" in admincp is not shown anymore. But I've got a table "charset_convert" in my database so I assume there are some parts of vCharset installtion still in forum.
Is there a sql command that I can run in order to remove any part of vCharset in my forum?
I assume you ran the script on a test board not on live one.
vCharset converter must remain in your database after finishing, it doesn't uninstal itself, you can uninstall it manually. yes you can uninstall the product, drop the table charset_convert and delete the product files.
Because you delete something in your database, you don't see the product, I think you deleted or epmtied product table.
I advise you to return to your backup, and test my script many times before you make decision to go ahead with it.
Remember I am still considering this product as a BETA product.
Also if you have some hacks, extensions or plugins that collect some text information in the database, you have to convert them too, this will be explained after the gold is released.
I assume you ran the script on a test board not on live one.
vCharset converter must remain in your database after finishing, it doesn't uninstal itself, you can uninstall it manually. yes you can uninstall the product, drop the table charset_convert and delete the product files.
Because you delete something in your database, you don't see the product, I think you deleted or epmtied product table.
I advise you to return to your backup, and test my script many times before you make decision to go ahead with it.
Remember I am still considering this product as a BETA product.
Thanks for your feedback again.
is there any reason that the convertor must stay after finishing the convertion?
thanks!