Re: [SOGo] appointments from iPhone with emoticons
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
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
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