-
Notifications
You must be signed in to change notification settings - Fork 256
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
utfmb4 database #5108
Comments
The setup process didn't read the settings file. The user journey behind this setting is:
From my side(i'm the guy how introduce the mb4 option in settings) is actual implementation enough. |
In my opinion it would be better to install as 4-byte initially where the database default setting is mb4. What about mod installation behavior? |
Since this feature only sugar, |
Actually I see a problem with sorting when it uses html entities instead of the proper character code only native to utf8mb4 unicode. Database queries will not be sorted properly when dealing with ie. names, topic titles, etc. when those use 4-byte characters that have been converted to 3-byte decimal entities. |
this is the mysql way of live. |
This is perhaps the pre - 2010 mysql way of life. |
@albertlast do you think this is a valid issue? Why do you think installing in mb4 when the database is already set to it isn't a feasible feature to add? |
Nope, |
Cool, next question would be, how common is to encounter an already created DB set to mb4/ full utf8? If this is something we can easily detect when installing/upgrading and SMF runs smoothly on either 3 or 4 bytes then I would prefer to add support for full utf8 when the db is already ready for it. |
from my pov, when realy, something could be added later on. |
I would bet that virtually 100% of all testing thus far has been in utf8, not utf8mb4, since our install script hard-codes to utf8: utf8mb4 really is the way to go. In 2.1.x, I think we should mirror how we supported utf8 in 2.0.x. :
The problem is it's completely untested. So the question is WHEN... I recommend this be in the Final release at the earliest... Maybe even a follow on. |
Yep, I also think we should go with mb4 and if there is an easy way for us to take advantage of an already set up DB then we should use it. So yeah, at minimum we should offer support for installing SMF on mb4 when its available. |
Something similar was done for Drupal 3 years ago https://www.drupal.org/project/utf8mb4_convert |
smf 2.1 support php 5.3 and mysql 5.0, |
this requires MySQL 5.5.3 or newer TL;DR: Four byte encoding instead of three. Good for emoji. I vote to wait for 2.2. Or the next big version. |
Big project like drupal can do it, |
I don't mind lifting the mysql version to 5.5.x if thats what's needed to get full utf8 support. This is something we will be seen a lot of support for in the next years so having it on 2.1 seems like a good thing to do to avoid all those support requests later. |
The issue is that you call this 2.1 instead of 3 and |
Nope. This is 2.1. and 2.1 is feature freeze as far as I ca see, however, I'm inclined to add support for true utf8 on mysql since it will be something very frequent in the coming years if not already. |
oh yes we'll need to address... wait 2.0 has mb4 support form simply using |
Indeed, what this issue reports is adding support for those DBs that are already created utf8mb4. On those DBs we should use whats already there for us to use. Using htmlspecialchars to convert to entities is a nice workaround but not something we should rely on. |
Description
With a database that has been installed as ie. urf8mb4 the SMF 2.1 installation creates all tables as 3-Byte UTF8 and does not conform to the default database setting/structure.
Steps to reproduce
Environment (complete as necessary)
Additional information/references
The settings variable should have the behavior of forcing the SMF 2.1 installer to create tables as utf8mb4. In my opinion it is possible to read the database default value and use that instead of relying on the variable in Settings.php. In either case the installation process fails to create the tables as utf8mb4.
The text was updated successfully, but these errors were encountered: