Contains actions to show the UTF-8 chart examples.
To use FusionCharts with UTF-8 characters, remember the following:
- dataURL method has to be used to get the xml.
- Rotated text cannot render UTF-8 characters. For example, UTF-8 characters
in the rotated labels will not be rendered correctly.
- BOM has to present in the xml given as input to the chart.
Steps to ensure correct UTF-8 output:
- <meta http-equiv="content-type" content="text/html;
charset=utf-8" /> has to be present in the <head> section of
the page which contains UTF8 characters. Notice that we have included this
in the "common.html.erb" layout, so that it is avialable to all
pages.
- Put this, headers["Content-Type"] = "text/xml;
charset=utf-8" in the action which is the XML provider. ( Here,
pie_data_french or pie_data_japanese actions)
- If you are using a xml file for the data, then the file should be saved
with UTF-8 encoding with UTF-8 BOM. It should have the xml declaration
also: <?xml version="1.0" encoding="UTF-8" ?>
- If you are generating xml dynamically, then in the xml provider ( here,
pie_data_japanese.html.erb and pie_data_french.html.erb ), use get_UTF8_BOM
and assign the BOM to the xml as initial value. This function present in
fusioncharts_helper library.
- After placing the BOM in the xml string, append the xml declaration:
<?xml version=‘1.0’ encoding=‘UTF-8’?>.
Finally, append the actual chart xml.
- For using data from database, the default character set of the database
should be UTF-8. This can be done using the sql command:
ALTER DATABASE DEFAULT CHARACTER SET = utf8;
The default charset of the table containing the UTF characters should be UTF-8. This can be done by adding "DEFAULT CHARSET=utf8;" at the end of the table definition.
In the config/database.yml file the setting for encoding should be: encoding: UTF8
For more details on UTF specific code, please see the view where the code resides.