Blog

Changing the Charset in Zen Cart 1.3.9 to UTF-8

Regardless of whether you use accented or non-English characters in your descriptions and page content, setting up Zen Cart to use UTF-8 is recommended for the majority of stores.  Today online shopping is globally accessible and from time to time you will get a customer whose name contains accented characters.  In order to make these characters display properly in web pages and emails, the data needs to be stored and displayed using a supporting character set.  The UTF-8 unicode charset supports the largest number of characters and is the charset we recommend for use with Zen Cart.

Other tutorials, aimed more at Zen Cart v1.3.8 and prior, have stated that it is difficult to convert an existing Zen Cart store to use UTF-8.  While this is true, it isn’t as difficult as one might expect as long as you have access to PHPMYADMIN and take a backup of your database before proceeding with this tutorial.

Step 1

Open includes/languages/YOUR_TEMPLATE/english.php

Find:

@setlocale(LC_TIME, 'en_US.ISO_8859-1');

And replace with:

@setlocale(LC_TIME, 'en_US.utf8');

Next find:

define('CHARSET', 'iso-8859-1');

And replace with:

define('CHARSET', 'utf-8');

Step 2

Open YOUR_ADMIN/includes/languages/english.php

Find:

setlocale(LC_TIME, 'en_US.ISO_8859-1');

And replace with:

setlocale(LC_TIME, 'en_US.utf8');

Next find:

define('CHARSET', 'iso-8859-1');

And replace with:

define('CHARSET', 'utf-8');

Step 3 (will only work if you are using the file includes/classes/db/mysql/query_factory.php from Zen Cart 1.3.9+):

Unzip and upload the attached file to includes/extra_configures/ and YOUR_ADMIN/includes/extra_configures/:

my_db_charset

Step 4:

Open includes/classes/class.phpmailer.php

Find:

var $CharSet           = "iso-8859-1";

Replace with:

var $CharSet = "utf-8";

Step 5:

Connect to your database via PHPMYADMIN and click the Operations tab.
Change the “Collation” dropdown to “utf8_unicode_ci” and click “Go”.

Then go through each table and change the table collation to “utf8_unicode_ci”.

Within each table, click the Structure tab and for each column that uses varchar or char (datatypes that accept strings), change the collation to “utf8_unicode_ci”.

Once you’ve completed this step, test that your shopping cart is acting as you would expect. Try changing a product’s description to include a UTF-8 encoded character. Then try registering a new customer with accented characters, or even Japanese symbols, in their name. Be sure to check the welcome email or order confirmation email to ensure that characters are being displayed correctly. If you encounter any issues, carefully check that you’ve completed every step outlined in this tutorial. If you are still encountering issues, we offer a conversion service which takes between 1-2 hours to complete. Contact support@numinix.com for more information.

Optional:

Upgrading your Zen Cart store to the latest version after converting to UTF-8? Perform the following edit in zc_install/includes/installer_params.php:

Find:

define('DB_CHARSET', 'latin1');

Replace with:

define('DB_CHARSET', 'utf8');

Also ensure that when replacing the files edited during this tutorial that you merge the changes.

18 thoughts on “Changing the Charset in Zen Cart 1.3.9 to UTF-8

  1. use this command to construct the alter table command; much easier. you then copy the output to execute. that way if you have additional tables they will all get converted as well.

    SELECT CONCAT(“ALTER TABLE “, TABLE_NAME,” CONVERT TO CHARACTER SET utf8 COLLATE ‘utf8_unicode_ci’;”) AS ExecuteTheString FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=”your_db_name” AND TABLE_TYPE=”BASE TABLE”


  2. Thank you for your nice and clear explanation.
    I was finally able to put some order in my DB, as I never liked the mixture of collation which were present from many contributions added every now and then.
    It was somewhat more longer than expected, but the results are really impressive.
    I would also suggest anyone wishing doing the same to actually take any TEXT FILE and save it again with the correct coding (locally would be faster).
    This will prevent finding any strange character in the future (or better, make your customer understand what they are reading…).
    Thanks a lot again !!!



  3. For step 5 I made a backup of the entire database. Searched and replaced all latin1 collation to utf8_unicode_ci in backup sql script and imported it back.




  4. Hi, I agree with the facebook comment
    “dave cohen says:
    October 7, 2011 at 4:34 am

    Follow up to last comment…the DrByte contrib won’t work, changes Character Set. We only want to change Collation. So…I found this handy little tool to do the dirty work. I have 2 databases, plus local test versions, and didn’t want to do by hand: http://blog.vision4web.net/2008/11/change-collation-on-all-tables-and-columns-in-mysql/

    It worked a dream for me and saved a lot of time, so didn’t know if you wanted to add it to these instructions.

    Regards


  5. SQL to dump into phpmyadmin, done all my tables. wont do any addon tables:

    ALTER TABLE `zen_address_book` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_address_format` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_admin` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_admin_activity_log` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_authorizenet` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_banners` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_banners_history` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_categories` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_categories_description` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_configuration` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_configuration_group` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_counter` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_counter_history` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_countries` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_coupons` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_coupons_description` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_coupon_email_track` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_coupon_gv_customer` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_coupon_gv_queue` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_coupon_redeem_track` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_coupon_restrict` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_currencies` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_customers` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_customers_basket` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_customers_basket_attributes` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_customers_info` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_customers_wishlist` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_db_cache` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_email_archive` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_ezpages` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_featured` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_files_uploaded` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_geo_zones` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_get_terms_to_filter` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_group_pricing` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_languages` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_layout_boxes` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_manufacturers` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_manufacturers_info` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_media_clips` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_media_manager` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_media_to_products` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_media_types` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_meta_tags_categories_description` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_meta_tags_products_description` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_music_genre` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_newsletters` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_orders` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_orders_products` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_orders_products_attributes` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_orders_products_download` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_orders_status` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_orders_status_history` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_orders_total` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_paypal` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_paypal_payment_status` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_paypal_payment_status_history` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_paypal_session` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_paypal_testing` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products_attributes` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products_attributes_download` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products_description` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products_discount_quantity` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products_notifications` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products_options` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products_options_types` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products_options_values` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products_options_values_to_products_options` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_products_to_categories` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_product_music_extra` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_product_types` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_product_types_to_category` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_product_type_layout` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_project_version` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_project_version_history` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_query_builder` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_record_artists` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_record_artists_info` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_record_company` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_record_company_info` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_reviews` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_reviews_description` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_salemaker_sales` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_seo_cache` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_sessions` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_specials` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_tax_class` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_tax_rates` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_template_select` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_upgrade_exceptions` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_whos_online` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_zones` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE `zen_zones_to_geo_zones` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;


    1. Anyone attempting to use this should be aware that the table names have a prefix. If your database does not use the “zen_” prefix, you will need to remove that in advance from each line.

      This could be used in ADMIN->TOOLS->INSTALL SQL PATCHES:

      ALTER TABLE address_book DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE address_format DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE admin DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE admin_activity_log DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE authorizenet DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE banners DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE banners_history DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE categories DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE categories_description DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE configuration DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE configuration_group DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE counter DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE counter_history DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE countries DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE coupons DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE coupons_description DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE coupon_email_track DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE coupon_gv_customer DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE coupon_gv_queue DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE coupon_redeem_track DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE coupon_restrict DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE currencies DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE customers DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE customers_basket DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE customers_basket_attributes DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE customers_info DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE customers_wishlist DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE db_cache DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE email_archive DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE ezpages DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE featured DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE files_uploaded DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE geo_zones DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE get_terms_to_filter DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE group_pricing DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE languages DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE layout_boxes DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE manufacturers DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE manufacturers_info DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE media_clips DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE media_manager DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE media_to_products DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE media_types DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE meta_tags_categories_description DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE meta_tags_products_description DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE music_genre DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE newsletters DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE orders DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE orders_products DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE orders_products_attributes DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE orders_products_download DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE orders_status DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE orders_status_history DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE orders_total DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE paypal DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE paypal_payment_status DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE paypal_payment_status_history DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE paypal_session DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE paypal_testing DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products_attributes DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products_attributes_download DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products_description DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products_discount_quantity DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products_notifications DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products_options DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products_options_types DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products_options_values DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products_options_values_to_products_options DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE products_to_categories DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE product_music_extra DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE product_types DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE product_types_to_category DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE product_type_layout DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE project_version DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE project_version_history DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE query_builder DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE record_artists DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE record_artists_info DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE record_company DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE record_company_info DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE reviews DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE reviews_description DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE salemaker_sales DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE seo_cache DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE sessions DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE specials DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE tax_class DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE tax_rates DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE template_select DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE upgrade_exceptions DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE whos_online DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE zones DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
      ALTER TABLE zones_to_geo_zones DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;





  6. I followed the instructions and have checked that all table collations my database has been changed to utf8_unicode_ci (and yes it took almost 2 hours). However, now I can’t access my admin and the checkout doesn’t work anylonger on my website. I think I have to ondo it all again. Damn it.


    1. You’ve made a mistake somewhere. Check your /cache/ folder for error logs. Seems your website has issues with sessions because when I try to add to cart it just goes to an empty shopping cart. I also see coding errors on your login/create account page. Contact us and we can provide you with a quote to fix these issues you’ve encountered.


  7. I have followed the tutorial here, double and triple-checked I’ve followed all the steps, but I’m now seeing strange characters appearing in my product descriptions. The character that is appearing is an Â

    The character normally appears where there is a space, and don’t show up in the editor. Editing in plain-text mode seems to help prevent them appearing, but I don’t see why they would be appearing anyway.

    When I changed to UTF-8, a lot of product descriptions would suddenly have a black diamond with a question mark, although those were easy enough to delete as they did show up in the editor.


  8. Worked great! Thank you. I noticed when I logged into my admin that I was seeing funny characters where my TM’s should be, so I also put the file from step 3 in YOUR_ADMIN/includes/extra_configures/:

    That fixed it for me.


  9. “Step 3 (will only work if you are using the file includes/classes/db/mysql/query_factory.php from Zen Cart 1.3.9+):

    Unzip and upload the attached file to includes/extra_configures/:

    my_db_charset”

    I’ve downloaded Zen Cart 1.3.9h and my question is : What it means “… if you are using the file…” ??

    I check that “Query_factory.php” exist, but I’m not sure what to do. How i know that “query_factory.php” file is using?

    Thanks alot.



Leave a Reply

Your email address will not be published. Required fields are marked *

    Get quote Live
    Chat