Re: [SOGo] appointments from iPhone with emoticons

2017-02-12 Thread Andreas Blaha
Hello Chris,
Many thanks for this and the detailed description!
I will have to consider if this is worth the effort. Could you by any chance 
let me know the parameter responsible for this in SOGo?

Best regards 

Andy

> Am 11.02.2017 um 21:02 schrieb Chris Coleman :
> 
> UTF-8 encoding fully supports emoticons; however, MySQL’s limited version of 
> utf8 does not support emoticons!
> MySQL’s utf8 can only store 3 byte characters, which are characters from the 
> Basic Multilingual Plane - characters from the majority of modern languages 
> and some symbols.  Emoticon characters exist in the Supplementary 
> Multilingual Plane for which we need 4 bytes and so must use utf8mb4.
> 
> To save emoticons to a MySQL database we need to change the character set and 
> collation properties, on the database connection, the database, the tables, 
> and the columns, to use utf8mb4.  Not necessarily all the columns, a minimal 
> solution has utf8mb4 on only the columns containing user-entered text.
> 
> Below find commands to change the character set and collation properties.  
> For pro users only.   Warning, backup your entire database before trying this 
> because the risk of data loss is real:
> SET NAMES utf8mb4;
> ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = 
> utf8mb4_unicode_ci;
> 
> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE 
> utf8mb4_unicode_ci;
> 
> ALTER TABLE table_name CHANGE column_name column_name VARCHAR(140) CHARACTER 
> SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL;
> 
> ** Bear in mind that changing from utf8 to utfmb4 affects the maximum lengths 
> of columns and index keys. The maximum lengths of columns will be unchanged 
> when modifying the tables with the commands discussed here; but in terms of 
> actual characters the amount that can be stored is reduced. This is a 
> consequence of changing from being able to store only 3 bytes up to 4! You 
> may need to update these lengths. **
> 
> REPAIR TABLE table_name;
> OPTIMIZE TABLE table_name;
> 
> $ mysqlcheck -u root -p --auto-repair --optimize --all-databases
> 
> Finally to change the character set of the connection, that setting must be 
> changed inside the SOGo application.
> 
> Hope this helps.
> 
> 
>> On 2/10/2017 9:21 AM, "Andreas Blaha" (andr...@blaha.at) wrote:
>> Hi all,
>> strange request from a user:
>> when an appointment created on the iphone/ipad contains an emoticon 
>> (wherever: title, notes, location etc.) the appointment is visible and 
>> manageable on the iphone/ipad, but not in the web gui. It can be seen but 
>> does not give any details, cannot be edited or deleted from there, I cannot 
>> view the source text of the appointment, but I get the according reminders. 
>> The appointment is not visible at all in Outlook 201x/ActiveSync. This 
>> behaviour I can reproduce, both in 2.3.19 and 3.2.6a.
>> I only found an open bug referring to UTF8, not sure if this has anything to 
>> do with it.
>> I have no Android device at hand to check whether it is the same there or 
>> not.
>>  
>> Has anyone experienced this as well?
>>  
>> Best regards
>> Andy
>> -- 
>> users@sogo.nu
>> https://inverse.ca/sogo/lists
> -- 
> users@sogo.nu
> https://inverse.ca/sogo/lists
-- 
users@sogo.nu
https://inverse.ca/sogo/lists

Re: [SOGo] appointments from iPhone with emoticons

2017-02-11 Thread Chris Coleman
UTF-8 encoding fully supports emoticons; however, MySQL’s limited 
version of utf8 does not support emoticons!


MySQL’s utf8 can only store 3 byte characters, which are characters from 
the Basic Multilingual Plane - characters from the majority of modern 
languages and some symbols.  Emoticon characters exist in the 
Supplementary Multilingual Plane for which we need 4 bytes and so must 
use utf8mb4.


To save emoticons to a MySQL database we need to change the character 
set and collation properties, on the database connection, the database, 
the tables, and the columns, to use utf8mb4. Not necessarily all the 
columns, a minimal solution has utf8mb4 on only the columns containing 
user-entered text.


Below find commands to change the character set and collation 
properties.  For pro users only.   Warning, backup your entire database 
before trying this because the risk of data loss is real:


SET NAMES utf8mb4;
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = 
utf8mb4_unicode_ci;


ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE 
utf8mb4_unicode_ci;


ALTER TABLE table_name CHANGE column_name column_name VARCHAR(140) 
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL;


** Bear in mind that changing from utf8 to utfmb4 affects the maximum 
lengths of columns and index keys. The maximum lengths of columns will 
be unchanged when modifying the tables with the commands discussed here; 
but in terms of actual characters the amount that can be stored is 
reduced. This is a consequence of changing from being able to store only 
3 bytes up to 4! You may need to update these lengths. **


REPAIR TABLE table_name;
OPTIMIZE TABLE table_name;

$ mysqlcheck -u root -p --auto-repair --optimize --all-databases

Finally to change the character set of the connection, that setting must 
be changed inside the SOGo application.


Hope this helps.


On 2/10/2017 9:21 AM, "Andreas Blaha" (andr...@blaha.at) wrote:


Hi all,

strange request from a user:

when an appointment created on the iphone/ipad contains an emoticon 
(wherever: title, notes, location etc.) the appointment is visible and 
manageable on the iphone/ipad, but not in the web gui. It can be seen 
but does not give any details, cannot be edited or deleted from there, 
I cannot view the source text of the appointment, but I get the 
according reminders. The appointment is not visible at all in Outlook 
201x/ActiveSync. This behaviour I can reproduce, both in 2.3.19 and 
3.2.6a.


I only found an open bug referring to UTF8, not sure if this has 
anything to do with it.


I have no Android device at hand to check whether it is the same there 
or not.


Has anyone experienced this as well?

Best regards

Andy

--
users@sogo.nu
https://inverse.ca/sogo/lists

--
users@sogo.nu
https://inverse.ca/sogo/lists

[SOGo] appointments from iPhone with emoticons

2017-02-10 Thread "Andreas Blaha"
Hi all,

strange request from a user:

when an appointment created on the iphone/ipad contains an emoticon
(wherever: title, notes, location etc.) the appointment is visible and
manageable on the iphone/ipad, but not in the web gui. It can be seen but
does not give any details, cannot be edited or deleted from there, I cannot
view the source text of the appointment, but I get the according reminders.
The appointment is not visible at all in Outlook 201x/ActiveSync. This
behaviour I can reproduce, both in 2.3.19 and 3.2.6a.

I only found an open bug referring to UTF8, not sure if this has anything to
do with it. 

I have no Android device at hand to check whether it is the same there or
not.

 

Has anyone experienced this as well? 

 

Best regards

Andy 

-- 
users@sogo.nu
https://inverse.ca/sogo/lists