Months ago when
XOOPS Translations was active, we (me and Herve) started a discussion - with topic News 1.44/Backend.php and UTF8).
The main problem was (and still is, but finaly is located where from comes) that each news article written in UTF-8, comes out thru backend.php like "???? ???? "
XOOPS 2.0.13.2 latest Mithrandir releases was totaly far, far away from Unicode UTF-8, no matter which patches are applied to the language files, or parts of the /includes/database.php. It was just a big mess, now ... this days comes 2.0.14 (2.0.15) which is Skalpa, better team leader then the previous, but ... anyway:
XOOPS 2.0.15 was announced as second (2.0.14 was first) XOOPS Unicode UTF-8 ready !
In fact XOOPS 2.0.14/2.0.15 is half Unicode UTF-8 ready, it can displays Unicoded content better then Mith 2.0.13.2, but is far away from really Unicode ready application.
Example:
If u create 2 different databases, one with Latin1 tables, and one with utf8_general_ci, u will see the difference :)
XOOPS 2.0.15 Installation process is fine on both databases, instead of final results, on Latin1 works perfect, with broken again RSS (cos of the storage, stored text is entered in UTF8, and saved in ISO8859-1) comes in "????" and XOOPS 2.0.15 in Latin1 RSS works (oops, ATOM - RSS 2.0 uses only UTF-8).
After a lot of tests on our local Gentoo boxes, we discovered that:
XOOPS 2.0.15 is not Unicode UTF8 compliant, it's not compatible, not fully operational, as what have to be.
XOOPS 2.0.15 can work as 2.0.13.2 thru declaration in language.php file to use UTF-8 instead of ISO8859-1, but this is not real, it's like emulation.
XOOPS 2.0.15 adds more incompatibilities to last releases of some modules, like Marcan's WF-Downloads 3, and adds (as 2.0.14) two new blocks.
Open Personal message to Herve:
My excuses for previously reported bug, the bug is not dependent of your work on News 1.44, it's XOOPS 2.0.xx core related bug. Backend.php finally (on our local boxes) shows fully operational syndication in UTF-8, but is not for public releases - such patch will brake XOOPS and 3PD compatibility.
To core dev:
Storing content information as UTF-8 encoding, but in ISO8859-1 tables will gives as allways "?????" this can be done by adding one declaration:
lines 106 - 111
function prefix($tablename='')
{
if ( $tablename != '' ) {
return $this->prefix .'_'. $tablename;
$this->prefix = $table_prefix;
@mysql_query("SET NAMES 'utf8'", $this->_resource);
} else {
return $this->prefix;
Possibilities of two be messed this two lines:
$this->prefix = $table_prefix;
@mysql_query("SET NAMES 'utf8'", $this->_resource);
But when I MySQL guru is back, I will ask him for the proper code change.