Upgrading database content to UTF8

From e107 Wiki
Jump to: navigation, search

e107 Wiki: English | Русский | Deutsch | Français | Magyar | Português | Български | Česky | Nederlands | Ελληνικά | Italiano | Norske | Polska | Slovenščina | Español | Svenska | Translate: Wiki | Page

logo_wiki.png

Current Release 1.0.4 | e107.org | Download | Changelog | Forum | Plugins | Themes | RSS Feed of Latest Changes | Atom Feed of Latest Changes


How To's Section of the e107 handbook
Main page > I : First Aid > II : Development > III : Administration > IV : How To's > V : Plugin Writing > VI : Theming & Shortcodes


Getting Started
How To Maintain e107
Advanced Topics

This page is a stub. You can help e107 by expanding it.


Version 0.7+ of the e107 CMS uses the UTF8 format to encode content. Earlier versions encoded all s data in ISO.

The change has been made to give greatly improved multi-language functionality.

Who need to do this manipulation?

  • If you upgrade your e107 website from any version prior to v0.7.0 (unless you choose to retain ISO encoding, which is not recommended for the long term).
  • If there is no ISO language pack available for your language.
    • Your old data probably shows special characters specific to your language as Chinese symbol (in IE) or question mark

How to upgrade to UTF8 encoding

Be careful, only do this manipulation if you know what you are doing!! Practice on a local copy of your website prior to do it on your main website!


This way is the easiest i've tried and has worked for me, feel free to add details or corrections or other ways of upgrading...


  1. First thing, you must make a backup of your entire database. Better explanation
    • Go into your PhpMyAdmin,
    • Select your database,
    • Select Export,
    • Select "Drop database" in the structure form,
    • Select "Complete insert", "Extended insert" & "Export type : REPLACE" in the Database form,
    • Select "Zipped" or "G-zipped" and Export,
    • Name your file to recognize it easily as your main backup.
  2. Repeat #1 but select only the tables from the e107 core.
    • You just have to select all tables and unselect the ones added by external plugins (usually, the name is easy to recognize)
    • Save that file in a .sql format. (We will call it e107DB_upgrade_ISO.sql)
  3. Open e107DB_upgrade_ISO.sql Windows users, please DO NOT use Notepad or Wordpad!.
  4. Make sure the file is written in ANSI format,
    • Select "Save as..." and look at the dropdown menu in the bottom of the windows, it's supposed to be ANSI
  5. Select in that dropdown menu "UTF8" and save your file into e107DB_upgrade_UTF8.sql
  6. Now, you must import that file into your e107 database,
    • Into PhpMyAdmin, select the name of your database,
    • Select the "SQL" tabulation,
    • Select your file e107DB_upgrade_UTF8.sql and execute.
  7. Normally, your database should be upgraded
    • Verify that your content is now showing properly into your website.
  8. If everything is fine, repeat the process for the tables of the external plugins.
    • Drink a beer, have fun! You are now e107 v0.7+ compliant! ;-)
    • If you are not able to do it this way, don't forget that you have a backup! Just restore it.

Et voilà

More information on character encoding