? Pending

User tests: Successful: Unsuccessful:

avatar richard67
richard67
28 Feb 2016

Pull Request not for an issue, see summary.

Summary of Changes

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).

Testing Instructions

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:

  1. New installation of Joomla! with latest staging + this patch.

  2. 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:

  1. 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.

  2. Do the new installation or the update.

  3. 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.

  4. 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.

avatar richard67 richard67 - open - 28 Feb 2016
avatar richard67 richard67 - change - 28 Feb 2016
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 28 Feb 2016
Labels Added: ?
avatar richard67 richard67 - change - 28 Feb 2016
The description was changed
avatar brianteeman brianteeman - change - 28 Feb 2016
Category Installation SQL Updating
avatar wilsonge wilsonge - test_item - 28 Feb 2016 - Tested successfully
avatar wilsonge
wilsonge - comment - 28 Feb 2016

I have tested this item :white_check_mark: 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.

avatar wilsonge wilsonge - change - 28 Feb 2016
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2016-02-28 21:13:26
Closed_By wilsonge
avatar wilsonge wilsonge - close - 28 Feb 2016
avatar wilsonge wilsonge - reference | 3ab6ee5 - 28 Feb 16
avatar wilsonge wilsonge - merge - 28 Feb 2016
avatar wilsonge wilsonge - close - 28 Feb 2016
avatar wilsonge wilsonge - change - 28 Feb 2016
Milestone Added:
avatar wilsonge
wilsonge - comment - 28 Feb 2016

Merged

avatar richard67 richard67 - change - 28 Feb 2016
The description was changed
avatar richard67
richard67 - comment - 28 Feb 2016

Ha, seems I was too slow with writing my test instructions :smile: ... but you knew how to do it anyway.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9245.

avatar richard67 richard67 - head_ref_deleted - 28 Feb 2016
avatar dgt41
dgt41 - comment - 28 Feb 2016

I just wanted to say a huge Thank you @richard67 for all this work!

avatar richard67
richard67 - comment - 28 Feb 2016

Thanks for the flowers

avatar wilsonge
wilsonge - comment - 28 Feb 2016

Beta 3 is out

avatar richard67
richard67 - comment - 28 Feb 2016

Yes, just noticed and downloading .. thanks for making it.

avatar Kubik-Rubik
Kubik-Rubik - comment - 29 Feb 2016

@richard67 Also from me, thank you very much for your hard work on this issue. Well done!

avatar richard67
richard67 - comment - 29 Feb 2016

Thanks for the flowers ... but now we have to fix the issues caused by it ... wish us good luck.

Add a Comment

Login with GitHub to post a comment