Hello @LiverpoolFCfan, trying to upgrade our setup to 73 I had a chance to invastigate this further. Looks like you implemented the new option on line 6256, but mb_detect_encoding is also used on lines 6408 and 6624, and in these two cases still fails on php 8.1 and 8.2. versions. It is also possible to limit the php version check to specifically 8.1 and 8.2 instead of bigger than 8.0, but that is up to you.
Yes agreed, the behaviour of mb_detect_encoding has reverted back to the documented state with php 8.3. The example I had previously given above also shows it fixed on php 8.3 versions https://3v4l.org/C2rkJ. What to do now? Perhaps adding a version check and defaulting for the alternative method on php 8.1/8.2 versions might be an option. Not sure how you feel about leaving the ZIMBRA_USE_MB_CHECK_ENCODING setting?
Hello @liverpoolfcfan sorry I have been busy. There seems to be a missunderstanding on my part, I am not seing the point in your proposed tests, if internal encoding is UTF-8 and mb_convert_encoding is run without from_encoding then it will simply not do anything. Also all our environments are UTF-8 this forum, web sites that I can copy sample text from, etc. are probably all UTF-8. What we need to test is the case where some end user client is sending out text in other character sets, which we cannot...
Yes, as mentioned before, the code is trying to detect the encoding and in order to stay at UTF-8, if it is already UTF-8, it needs to work in order of the encodings given, because we don't want to convert something that is already UTF-8. Php8.1 version of mb_detect_enconding method looks at the bytes and not their character shape representations, so something that looks in shape a correct URF-8 string internally matches to ISO-8859-9. mb_detect_encoding_in_order method given above tries to do, in...
@liverpoolfcfan php8.1 implementation of mb_detect_encoding no longer works in order. The php.net documentation and examples given there are also incorrect. The example given on php.net to explain the in order characteristics of the function is the below code, coppied from https://www.php.net/mb_detect_encoding (it may be fixed by the time you are looking at it, there is an open issue to fix the documentation also) <?php $str = "\xC4\xA2"; // The string is valid in all three encodings, so the first...
Hello @liverpoolfcfan First of all, my condolences on Saturday's match. I was rooting for Liverpool, they played the better game, but the other side is just so efficient in winning it is almost ugly. We tested Contacts, Emailed Contacts, GAL search, and GAL sync (with shared GAL folder) with Windows Outlook, Android Outlook, Android Gmail, IOS, and IOS Outlook as well as IOS CardDav. After the 71.1 update experiences are similar between these products, with the exception of Windows Outlook not performing...
GAL by default works for searching as you explained, but also configuring GAL on Zimbra creates a contact list share. It is common behavior for users to add that share to their account which shows GAL as a folder on their account and that folder displays distribution lists if they are not hidden from GAL. I am attaching screen shots. If we remove group typed items from contacts the contents of this folder on Zimbra user interface and synced devices differs. Thanks.
GAL by default works for searching as you explained, but also configuring GAL on Zimbra creates a contact list share. It is common behavior for users to add that share to their account which shows GAL as a folder on their account and that folder displays distribution lists if they are not hidden from GAL. I am attaching screen shots. If we remove group typed items from contacts the contents of this folder on Zimbra user interface and synced devices differs. Thanks.