I'm working with osCommerce 2.2 RC2. I've installed the One Page Checkout plugin but I'm having some problems with the encoding of latin characters.
We are using the ISO-8859-2 encoding.
I've modified in the checkout.php the following:
1)
echo utf8_encode($content);
to:
echo mb_convert_encoding($content, "UTF-8", "ISO-8859-2");
2)
array('text' => utf8_encode($header));
to:
array('text' => mb_convert_encoding($header, "UTF-8", "ISO-8859-2"));
3)
array('text' => utf8_encode($contents));
to:
array('text' => mb_convert_encoding($contents, "UTF-8", "ISO-8859-2"));
I've also modified in the /includes/classes/onepage_checkout.php:
if(function_exists('mb_check_encoding') && mb_check_encoding($inputs,'UTF-8'))
{
return utf8_decode($inputs);
}
to:
if(function_exists('mb_check_encoding') && mb_check_encoding($inputs,'UTF-8'))
{
return mb_convert_encoding($inputs, "ISO-8859-2", "UTF-8");
}
This fixed part of the issues. The characters that exist in ISO-8859-2 are saved correctly in the database.
However some characters like ș,ț which previously were saved like Ș and ț are converted to ? in all fields in the DB except for the customers_telephone field.
Do you have any ideeas why this is happening and how to fix it?
I would like those characters to be saved as before (Ș and ț).