Actually the database interaction between GL and MySQL is done through PHP and GL really doesn't have much control over that, except other than table creation and type of connects. I currently use utf8_general_ci on my database. I could use utf8_unicode_ci but according to MySQL general is faster.
So you need to do several things.
1. Select your language in Geeklog if supported. (mine is english)
2. Create your database using your collation (mine is utf8_general_ci).
One thing is that your http server should also have your supported character set. Mine is UTF-8. You can also set your default_charset in php.ini (I don't).
Also you need to change MySQL (my.cnf) as follows for your collation
Text Formatted Code
default-character-set=utf8
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
default-character-set=utf8
character-set-server = utf8
collation-server = utf8_general_ci
I have also changed Geeklog to connect to MySQL using UTF-8.
from system/databases/mysql.class.php
Text Formatted Code
// Connect to MySQL server
$this->_db = mysql_connect($this->_host,$this->_user,$this->_pass) or die('Cannnot connect to DB server');
mysql_query("SET NAMES 'UTF8'"); <----- Need to add this for UTF-8
If you want to modify a geeklog install, you would have to modify sql/mysql_tableanddata.php as shown below. Every SQL statement would need to be modified.
Text Formatted Code
$_SQL[1] = "
CREATE TABLE {$_TABLES['access']} (
acc_ft_id mediumint(8) NOT NULL default '0',
acc_grp_id mediumint(8) NOT NULL default '0',
PRIMARY KEY (acc_ft_id,acc_grp_id)
) TYPE=MyISAM CHARACTER SET `utf8` COLLATE `utf8_general_ci`;
";
So as you can see from above its a complex process for the uninitiated. Each subsystem has to be on the same page so to speak. http, mysql, php and geeklog to some extent. I hope this helps.
Byte