blekos
blekos

Reputation: 11

Data in db is in wrong encoding (using CKeditor) and greek

I am using ckeditor 3.4 to insert data (text) to database and then display it on a page.

Problem: when I write (greek )in the ckeditor everything is fine. When I press the HTML button of the ckeditor again everything is fine (e.g. i see the actuall text typed not html entities). However when I save the data (and hence store them to the db) the stored data in the db are like this

"<p style="text-align: center;">
    ... σÏντομα πεÏισσότεÏες πληÏοφοÏίες...</p>
<p>
    &nbsp;</p>"

Note: when I recall the data the are correctly displayed on the web page.

Actions taken so far:

1- the connection file to the db has the following: $conn->query("SET NAMES 'utf8'");

2- In the config.js of the ckeditor I have added the following lines

config.entities = false;
config.entities_greek = false;
config.entities_latin = false;
config.entities_processNumerical = false;
    // Define changes to default configuration here. For example:
     config.language = 'el';
    // config.uiColor = '#AADC6E';
};

3- my webpages are set to: content="text/html;charset=utf-8"

4- db colation: utf8_unicode_ci / type MyIsam

I've been searching around but no luck. I'd appreciate any help

Upvotes: 1

Views: 3411

Answers (2)

blekos
blekos

Reputation: 21

Thank you all for your answers. Solution was much simpler. The right writing is SET NAMES UTF8 instead of SET NAMES 'utf8'

Upvotes: 2

jishi
jishi

Reputation: 24634

If you are using PHP or any other language that doesn't do this automatically, you need to invoke

SET NAMES 'UTF8'

on the connection before calling any statements, in order to use UTF-8 in your database.

Also make sure you are serving all pages as UTF-8 so that posted data is in UTF-8.

There are also some configuration parameters that controls how the data is sent and processed by the server, but I have never managed to get it to work without this statement.

se more here: http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

EDIT: Ah, sorry, didn't see that you actually did this. If it is displayed correctly when you output it and your charset is set to UTF-8 on the page, then I'm assuming that you only view it in the DB with a tool that doesn't support UTF-8, or isn't configured for it? So what exactly is the problem right now?

Upvotes: 0

Related Questions