User tests: Successful: Unsuccessful:
Pull Request not for an issue, see summary.
Change collation and default collation of all Joomla! Core database
tables in mysql from utf8mb4_general_ci to utf8mb4_unicode_ci (or
utf8_general_ci to utf8_unicode_ci if no utf8mb4 supported) and change
also the utf8mb4 conversion for this.
It is generally encouraged over general encoding because it sorts correct in foreign languages, while general sorts incorrect in some cases (see http://stackoverflow.com/a/766996 for example).
In principle this PR is so easy that it can be tested by code review and a search in all Joomla! core php and sql files for "_general_ci" to see if this PR covers missed some.
But if real testing there are 2 cases:
New installation of Joomla! with latest staging + this patch.
Update of a pre-3.5, e.g. a 3.4.8 (but not a 3.5.0 Beta or Beta 2) to latest staging + this patch.
For case 1 use this zip as installation source: Link to the branch for this PR
For case 2 you can use Joomla! Update Component with update channel adjusted to "Custom URL" and this URL:
http://test5.richard-fath.de/list_test1.xml on my web space (note: update from 2.5. not supported by my XML).
Or use the Extention Installer to upload and install following update container (also provided by me) as a package:
http://test5.richard-fath.de/Joomla_3.5.0-beta2-Beta-Update_Package_test1.zip
Or replace the content in the folder of the Joomla! to be updated by the content provided with the link for new installation above, then get back the old configuration.php, then go into backend and check and fix reported database problems.
It is sufficient to test one update method only, not neccessary to test both Extention Installer and Joomla! Update Component.
The test steps are following:
In your sql client for your mysql (or MariaDB) database, note the default collations of all Joomla! Core tables.
These might be utf8_general_ci as is standard for Joomla!, or you had changed that before in your database to something else.
The core tables are those created in installation/sql/mysql/joomla.sql, just look for "CREATE TABLE" in this file and you have the list.
Do the new installation or the update.
In case of update, go in Joomla! backend (admin) to "Extensions -> Manage -> Database" and use the "Fix" button to fix any eventual database problems and perform the utf8(mb4) conversion. It may be necessary to use the button a few times until all ok when some other database problems were found, depending on what you updated.
Check again the default collations of the Joomla! core tables. They should be either "utf8mb4_unicode_ci" or "utf8_unicode_ci", depending on if your database server and client api support utf8mb4 (UTF-8 Multibyte) or not.
If utf8mb4 is supported or not depends on mysql database server and client api version:
server version < 5.5.3: No utf8mb4 support, else depends on client api version.
mysqlnd lower than 5.0.9 or libmysql lower than 5.5.3: No utf8mb4 support.
Status | New | ⇒ | Pending |
Labels |
Added:
?
|
Category | ⇒ | Installation SQL Updating |
Status | Pending | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2016-02-28 21:13:26 |
Closed_By | ⇒ | wilsonge |
Milestone |
Added: |
Merged
Ha, seems I was too slow with writing my test instructions ... but you knew how to do it anyway.
I just wanted to say a huge Thank you @richard67 for all this work!
Thanks for the flowers
Beta 3 is out
Yes, just noticed and downloading .. thanks for making it.
@richard67 Also from me, thank you very much for your hard work on this issue. Well done!
Thanks for the flowers ... but now we have to fix the issues caused by it ... wish us good luck.
I have tested this item successfully on cfc9a40
I tested this successfully - both updating from 3.4.8 to staging with this PR applied (then updating via the database fixer) and also by installing this as a fresh site
This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9245.