Hello,
On Feb 7, 2011, at 12:48 , Patrick Ohly wrote:
A user contacted me regarding special characters (German umlaute)
getting mangled when synchronizing with a Sony Ericsson K800. It turned
out that the phone, in violation of the SyncML spec, uses ISO-8859-1
encoding of its vCard data. Worse, it does so without adding the CHARSET
property.
There is a workaround in libsynthesis. It is possible to override the
encoding for a specific phone. The attached file can be dropped into
~/.config/syncevolution-xml/remoterules/server/00_sony_ericsson.xml and
the default charset for all Sony Ericsson phones will be ISO-8859-1.
This is not a proper solution, though:
- not all Sony Ericsson phones are broken like that
- of those which are, some might use a different local charset
The workaround was built into libsynthesis exactly for SonyEricsson phones, and all I
encountered used ISO-8859-1 as their local charset.
In fact, for quite a while this was even hard-coded into the engine to treat untagged
incoming chars as ISO-8859-1 because these SE phones were the only real world case with
that problem.
Only later, other phones started to send UTF-8 without saying so in CHARSET (which is
probably acceptable as the SyncML environment is specified as UTF-8), so the default was
changed to UTF-8 and <inputcharset> and <outputcharset> were added to allow
device-specific behaviour.
Of course there might be chinese, greek or kyrillic versions of legacy SE phones around.
But maybe these can be distinguished by devinf?
Best Regards,
Lukas
Lukas Zeller, plan44.ch
luz(a)plan44.ch -
www.plan44.ch