The following mini script is used to convert existing database tables to UTF-8. Upload the script to your account as "convert.php" and modify the database connection parameters and the character set, then execute the script.To execute the script, you simply would visit the script in any web browser. If you upload the file to your public_html folder you'd visit http://yourdomain.com/convert.php. Dont forget to replace yourdomain.com with your actual domain name.

Don't forget to replace your-domain.com with your actual domain name. Also, to get your languages to work on your site the collation will need to be utf8.

Code to convert your database to UTF-8

<?php  
     
// Fill in your Server, User, Database, Password, and Collation configuration below   
$db_server = 'localhost';   
$db_user = 'database user';   
$db_password = 'password';   
$db_name = 'database name';   
$char_set = 'new character set';  

// Adds the header information header('Content-type: text/plain');
// Connects to the MySQL database   $connection = mysql_connect($db_server, $db_user, $db_password) or die(mysql_error() );   $db = mysql_select_db($db_name) or die( mysql_error() );
// Runs the SQL query on teh database   $sql = 'SHOW TABLES'; $result = mysql_query($sql) or die( mysql_error() );
// Runs a loop that finds all collations within the database and changes it to the new collation   while ( $row = mysql_fetch_row($result) ) { $table = mysql_real_escape_string($row[0]); $sql = "ALTER TABLE $table CONVERT TO CHARACTER SET $char_set COLLATE utf8_general_ci"; mysql_query($sql) or die( mysql_error() );   print "$table changed successfully.\n"; }  
// Update the Collation of the database itself $sql = "ALTER DATABASE CHARACTER SET $char_set;"; mysql_query($sql) or die( mysql_error());   print "Database collation has been updated successfully.\n";  
// close the connection to the database mysql_close($connection);  
?>

Of course, you can use this script to change the database to any character set you wish. You need to define the character set in the script to change character sets:

$char_set = 'character set';

You will need the change the  utf8_general_ci to match the character set you defined in the step above. So if you wanted to change the character set to hebrew you'd change the line to:

$sql = "ALTER TABLE $table DEFAULT CHARACTER SET $char_set COLLATE hebrew_general_ci";

For more information on MySQL character sets and collation please see the following link:

Character Sets and Collations in MySQL

If you need further assistance please feel free to contact our support department.

Did you find this article helpful?

We value your feedback!

Why was this article not helpful? (Check all that apply)
The article is too difficult or too technical to follow.
There is a step or detail missing from the instructions.
The information is incorrect or out-of-date.
It does not resolve the question/problem I have.
How did you find this article?
Please tell us how we can improve our Help Center:
Email Address
Optional, but our team may contact you for more information.
Did you find this article helpful?

Post a Comment

Name:
Email Address:
Comment:
Are you a bot?
Submit

Please note: Your name and comment will be displayed, but we will not show your email address.

News / Announcements

Update to SSL Certificates - Certificate Warnings
1969-12-31 11:00 am EST
Hits: 665

Related Questions

Here are a few questions related to this article that our customers have asked:
Ooops! It looks like there are no questions about this page.
Would you like to ask a question about this page? If so, click the button below!

Help Center Search

Current Customers

Email: support@WebHostingHub.com Ticket: Submit a Support Ticket
Call: 877-595-4HUB (4482)
757-416-6627 (Intl.)
Chat: Click To Chat Now

Ask the Community

Get help with your questions from our community of like-minded hosting users and Web Hosting Hub Staff.

Not a Customer?

Get web hosting from a company that is here to help.