Characters are missing or incorrect (UTF-8 encoding)?
Your downloaded characters are missing or incorrect!
While using VMConnector web services, some of your characters are missing or incorrect.
Problem:
- Uploading or downloading products and categories with VMConnector, you get "?" replacing some or all characters.
- Characters does not appears correctly on my web page.
- Characters are not showing correctly in my exported MS spreadsheet.
Solutions and comments:
- Please, keep in mind that ENCODING is everywhere:
- In the web page (html, php) you view your virtuemart shop - "UTF-8" encoding required
- In the Joomla language pack (Slovak_utf8, English_utf8, ...) and required to be set as default language within Joomla
- In the MySQL database and tables - "utf8_general_ci" encoding
- In the VMConnector and NUSOAP - "UTF-8" encoding
- In the VMCClient (V.NET sample) - "UTF-8" encoding requests and "Arial Unicode MS" or equivalent for datagrid
- In the MS Excel spreadsheet - "Arial Unicode MS" or equivalent for spreadsheet cells
- Fortunately, Joomla 1.5.x + Virtuemart 1.1.x + VMconnector 1.1.x comes by default with these settings.
- Problem occurs most of time with Joomla 1.0.x + Virtuemart 1.0.x + VMconnector 1.0.x. The solution is to take a Joomla UTF-8 compliant template, change the default MYSQL and tables encoding to "utf8_general_ci" if it's not the case yet, and make sure that your MS Excel spreadsheet is formatted with a unicode compliant font.
- The Joomla default language needs to be UTF-8 encoding.
- Let's take an example, English language pack is set to ISO-8859-1 by default.
- To change it into UTF-8, go to the "language" folder of your Joomla web site
- Usually you should have three files: english.xml / english.php / english.ignore.php
- Copy them and rename each of them like: english_utf.xml / english_utf.php / english_utf.ignore.php
- Within "english_utf.xml" change: encoding="iso-8859-1" TO encoding="utf-8"
- Replace the XML tag: <name>English</name> TO <name>English utf-8</name>
- And rename also the XML tag: <filename>english_utf.php</filename>
- Next within file "english_utf.php" replace line: DEFINE('_ISO','charset=iso-8859-1'); TO DEFINE('_ISO','charset=UTF-8');
- Save the files and put all three files into a ZIP file called i.e. "english_utf.zip"
- Then install this language package within your Joomla admin screen and make this package the default language package.
- You should be ready.
- VMConnector is UTF-8 compliant from versions:
- 1.0.46+ for Joomla 1.0.x and Virtuemart 1.0.x
- 1.1.x+ for Joomla 1.5.x and Virtuemart 1.1.x
- Please note also, that if UTF-8 encoding does not work for your character set, we can customize VMConnector for your needs.

