Forums | Mahara Community

Support /
Installation issue on 1.2 beta


Dirk Meyer's profile picture
Posts: 425

22 August 2009, 9:48

When using the installer, I get this messgae:

'Mahara: Site unavailable

You are not using a UTF-8 database. Mahara stores all data as UTF-8 internally. Please drop and re-create your database using UTF-8 encoding.'
 
I have a 1.1 version running on same server with equal database setup without problems. I don't seem to be able to find anything in the mysql error log. I dropped database a few times and tried different UTF-8 choices with equal results. Below is my system info:
 

MySQL

  • Server: Localhost via UNIX socket
  • Server version: 5.0.45
  • Protocol version: 10
  • User: mahara12beta@localhost
  • MySQL charset: UTF-8 Unicode (utf8)

Web server

  • lighttpd/1.4.22
  • MySQL client version: 5.0.45
  • PHP extension: mysql
anonymous profile picture
Account deleted
Posts: 808

23 August 2009, 17:48

Hi Dirk,

Thanks for testing!  We were having quite a few problems with non-utf8 dbs, so decided to make it compulsory for new 1.2 installs, but we are obviously failing to detect the MySQL charset properly on your server.

The utf8 test works okay on my MySQL 5.0.32 server on Debian, but I think we may have the same issue as this ADOdb bug that's affecting Moodle at the moment: http://tracker.moodle.org/browse/MDL-19249 -- because we use ADODB in Mahara too.  They don't seem to have a fix yet, unfortunately.

I will keep looking.

anonymous profile picture
Account deleted
Posts: 808

23 August 2009, 19:10

Actually Dirk, I think I'm going to have trouble reproducing this myself.  I'd be really grateful if you could put this into a .php file somewhere in your mahara install, hit the page & send me the output.

<?php
define('INTERNAL', 1);
define('PUBLIC', 1);
require('init.php');

$debugtarget = get_config('log_dbg_targets');
set_config('log_dbg_targets', LOG_TARGET_SCREEN | $debugtarget);
log_debug($db->Execute("SHOW VARIABLES LIKE 'character_set_database'"));
set_config('log_dbg_targets', $debugtarget);

$smarty = smarty();
$smarty->display('index.tpl');
?>

If you have time ... thanks!

Dirk Meyer's profile picture
Posts: 425

23 August 2009, 19:30

Hi Richard,

 

I will run the script tomorrow as I have an IP restriction on server. Also, I am on a CentOS 5.3 final

Dirk

Dirk Meyer's profile picture
Posts: 425

24 August 2009, 21:08

Hi Richard: I get the output below when I run the script on the 1.1.2 instance. Password is edited. Anything else I can do please let me know.

 

[DBG] ab (script.php:8) ADORecordSet_mysql Object
(
    [databaseType] => mysql
    [canSeek] => 1
    [dataProvider] => native
    [fields] => Array
        (
            [Variable_name] => character_set_database
            [Value] => latin1
        )

    [blobSize] => 100
    [sql] => SHOW VARIABLES LIKE 'character_set_database'
    [EOF] =>
    [emptyTimeStamp] => &nbsp;
    [emptyDate] => &nbsp;
    [debug] =>
    [timeCreated] => 0
    [bind] =>
    [fetchMode] => 1
    [connection] => ADODB_mysql Object
        (
            [databaseType] => mysql
            [dataProvider] => mysql
            [hasInsertID] => 1
            [hasAffectedRows] => 1
            [metaTablesSQL] => SHOW TABLES
            [metaColumnsSQL] => SHOW COLUMNS FROM `%s`
            [fmtTimeStamp] => 'Y-m-d H:i:s'
            [hasLimit] => 1
            [hasMoveFirst] => 1
            [hasGenID] => 1
            [isoDates] => 1
            [sysDate] => CURDATE()
            [sysTimeStamp] => NOW()
            [hasTransactions] =>
            [forceNewConnect] =>
            [poorAffectedRows] => 1
            [clientFlags] => 0
            [substr] => substring
            [nameQuote] => `
            [compat323] =>
            [_genIDSQL] => update %s set id=LAST_INSERT_ID(id+1);
            [_genSeqSQL] => create table %s (id int not null)
            [_genSeq2SQL] => insert into %s values (%s)
            [_dropSeqSQL] => drop table %s
            [database] => mahara
            [host] => localhost
            [user] => mahara
            [password] => xxxxx
            [debug] =>
            [maxblobsize] => 262144
            [concat_operator] => +
            [length] => length
            [random] => rand()
            [upperCase] => upper
            [fmtDate] => 'Y-m-d'
            [true] => 1
            [false] => 0
            [replaceQuote] => \'
            [charSet] =>
            [metaDatabasesSQL] =>
            [uniqueOrderBy] =>
            [emptyDate] => &nbsp;
            [emptyTimeStamp] => &nbsp;
            [lastInsID] =>
            [hasTop] =>
            [readOnly] =>
            [genID] => 0
            [raiseErrorFn] => adodb_throw
            [cacheSecs] => 3600
            [memCache] =>
            [memCacheHost] =>
            [memCachePort] => 11211
            [memCacheCompress] =>
            [arrayClass] => ADORecordSet_array
            [noNullStrings] =>
            [numCacheHits] => 0
            [numCacheMisses] => 0
            [pageExecuteCountRows] => 1
            [uniqueSort] =>
            [leftOuter] =>
            [rightOuter] =>
            [ansiOuter] =>
            [autoRollback] =>
            [fnExecute] =>
            [fnCacheExecute] =>
            [blobEncodeType] =>
            [rsPrefix] => ADORecordSet_
            [autoCommit] => 1
            [transOff] => 0
            [transCnt] => 0
            [fetchMode] => 2
            [_oldRaiseFn] =>
            [_transOK] =>
            [_connectionID] => Resource id #14
            [_errorMsg] =>
            [_errorCode] =>
            [_queryID] => Resource id #31
            [_isPersistentConnection] =>
            [_bindInputArray] =>
            [_evalAll] =>
            [_affected] =>
            [_logsql] =>
            [_transmode] =>
            [databaseName] => mahara
        )

    [_numOfRows] => 1
    [_numOfFields] => 2
    [_queryID] => Resource id #31
    [_currentRow] => 0
    [_closed] =>
    [_inited] => 1
    [_obj] =>
    [_names] =>
    [_currentPage] => -1
    [_atFirstPage] =>
    [_atLastPage] =>
    [_lastPageNo] => -1
    [_maxRecordCount] => 0
    [datetime] =>
    [adodbFetchMode] => 2
)

anonymous profile picture
Account deleted
Posts: 808

25 August 2009, 18:22

Thanks Dirk,

Looks like Mahara's detecting the encoding correctly after all, and you just have latin1 encoding set rather than UTF-8.  So I think you really do need to try dropping and recreating the db as UTF-8. This always works for me:

 mysql> create database mahara default character set utf8;

Richard.

Yaju Mahida's profile picture
Posts: 131

27 August 2009, 18:44

Hi what about the users who already have installed it (latin1 in our case). We are using it since 1 year and the current version is 1.1.5.

For upgrade we have to covert it to UTF8 ?

 

anonymous profile picture
Account deleted
Posts: 808

27 August 2009, 19:02

No, the upgrades will still try to run non-utf8 dbs.


Yaju Mahida's profile picture
Posts: 131

31 August 2009, 20:24

We are using Subversion repository and with each upgrade we merge the code with existing one. We are doing this since Mahara 1.0.4 and this is working properly. We do this not to loose our customisation.

With 1.2 beta we did same thing and upgrade is taking forever at first point core  1.1.5 to 1.2.0.beta1.

With the clean code of 1.2.beta we are able to upgrade the database quickly.

What can be the problem ?

 

 

anonymous profile picture
Account deleted
Posts: 808

31 August 2009, 21:59

It is tricky to answer without knowing what customisations you have made to the code.  I think it could be a lot of things -- sometimes two branches can merge without conflicts and still create a broken system.

One thing we have done is changed the upgrade code between 1.2.0alpha3 and 1.2.0beta1, to add upgrades to be read from the 'local' directory, but I don't know if that is your problem.  Is there anything in the apache log?

16 results