I have been plagued by this issue for almost two full months, and after filing a bug report that hasn't received any attention, I dug further.
I found a solution which requires a simple patch to Notification.pm.
Please see
http://bugs.otrs.org/show_bug.cgi?id=10970 for my findings.
The issue is that when OTRS works on a notification, it currently does the
following:
1. Gets notification from database
2. Replaces <OTRS...> variables in the notification with their respective
values
3. Sends the updated notification text out to each individual user
Between steps 2 and 3, the updated text is not encoded. If any of the
variables contain double spaces, they are HTML non-breaking white spaces
( ), which are 0xa0 and are also not UTF-8.
The text needs to be encoded after the variable replacement and before the
messages are sent out.
Code: Select all
1088a1089,1107
> # get encode object
> my $EncodeObject = $Kernel::OM->Get('Kernel::System::Encode');
>
> # convert subject
> $Notification{Subject} = $EncodeObject->Convert(
> Text => $Notification{Subject},
> From => 'utf-8',
> To => 'utf-8',
> Force => 1,
> );
>
> # convert body
> $Notification{Body} = $EncodeObject->Convert(
> Text => $Notification{Body},
> From => 'utf-8',
> To => 'utf-8',
> Force => 1,
> );
>