Istvan Holbok - 2010-12-31

Hello Cyril,

Please try your solution with letters őŐ and űŰ, will not work.
The reason of UTF-8 problems was the unset of character set of SQL connections.

In the file ...\config\db_connect.inc.php the MySQL connection character set is not set properly.
The connection with the default settings (to the proper UTF-8 database) usually are the following:

array(2) { ["Variable_name"]=> string(20) "character_set_client" ["Value"]=> string(6) "latin1" }
array(2) { ["Variable_name"]=> string(24) "character_set_connection" ["Value"]=> string(6) "latin1" }
array(2) { ["Variable_name"]=> string(22) "character_set_database" ["Value"]=> string(4) "utf8" }
array(2) { ["Variable_name"]=> string(24) "character_set_filesystem" ["Value"]=> string(6) "binary" }
array(2) { ["Variable_name"]=> string(21) "character_set_results" ["Value"]=> string(6) "latin1" }
array(2) { ["Variable_name"]=> string(20) "character_set_server" ["Value"]=> string(4) "utf8" }
array(2) { ["Variable_name"]=> string(20) "character_set_system" ["Value"]=> string(4) "utf8" }

It is the reason why so many posts on the CuteFlow forum about the character set mismatch. Latin1 does not accept for example Ő and Ű letters.

The instant solution is to add only one line to the ...\config\db_connect.inc.php
Ref: http://hu2.php.net/manual/en/function.mysql-set-charset.php

<?php
$connection = @mysql_pconnect($DATABASE_HOST, $DATABASE_UID, $DATABASE_PWD)
or die("Cant connect to database -A");

mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $connection);

$db = @mysql_select_db($DATABASE_DB, $connection)
or die("Cant connect to database -B");

?>

The connections are set properly after executing this command:

array(2) { ["Variable_name"]=> string(20) "character_set_client" ["Value"]=> string(4) "utf8" }
array(2) { ["Variable_name"]=> string(24) "character_set_connection" ["Value"]=> string(4) "utf8" }
array(2) { ["Variable_name"]=> string(22) "character_set_database" ["Value"]=> string(4) "utf8" }
array(2) { ["Variable_name"]=> string(24) "character_set_filesystem" ["Value"]=> string(6) "binary" }
array(2) { ["Variable_name"]=> string(21) "character_set_results" ["Value"]=> string(4) "utf8" }
array(2) { ["Variable_name"]=> string(20) "character_set_server" ["Value"]=> string(4) "utf8" }
array(2) { ["Variable_name"]=> string(20) "character_set_system" ["Value"]=> string(4) "utf8" }

We have to add this blue line for the setup of MYSQL connection charset into the all files which handle SQL data-stream - about 70 items in 54-55 files.

It would be nice to declare an SQL data class for the next release to make more simple code with proper character set of SQL connections.