Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking API: track Emoji correctly in page URLs and others #8790

Closed
mattab opened this issue Sep 15, 2015 · 3 comments · Fixed by #15618
Closed

Tracking API: track Emoji correctly in page URLs and others #8790

mattab opened this issue Sep 15, 2015 · 3 comments · Fixed by #15618
Assignees
Labels
Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.
Milestone

Comments

@mattab
Copy link
Member

mattab commented Sep 15, 2015

Goal: correctly track emoji and all utf8 4-byte characters. This requires a change from our table charset to utf8mb4. See discussion in #7766

@mattab mattab added the Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. label Sep 15, 2015
@mattab mattab added this to the Mid term milestone Sep 15, 2015
@mattab mattab modified the milestones: Mid term, Long term Dec 5, 2016
@huan086
Copy link

huan086 commented Apr 10, 2017

Use utf8mb4_unicode_520_ci for COLLATE for correct sorting. E.g. https://bugs.mysql.com/bug.php?id=2906 happens when utf8mb4_unicode_ci is used

@huan086
Copy link

huan086 commented Apr 12, 2017

Quick and dirty hack to enable emoji

In piwik\config\config.ini.php, after

adapter = "MYSQLI"

add

charset = "utf8mb4"

Run the following SQL

ALTER SCHEMA `piwik` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_access` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_archive_blob_yyyy_mm` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci; -- repeat this for all the tables, with yyyy and mm replaced
ALTER TABLE `piwik`.`piwik_archive_numeric_yyyy_mm` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci; -- repeat this for all the tables, with yyyy and mm replaced
ALTER TABLE `piwik`.`piwik_goal` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_action` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_conversion` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_conversion_item` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_link_visit_action` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_profiling` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_visit` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_logger_message` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_option` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_plugin_setting` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_report` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_segment` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_sequence` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_session` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_site` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_site_setting` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_site_url` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_user` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_user_dashboard` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_user_language` CHARACTER SET=utf8mb4, COLLATE=utf8mb4_unicode_520_ci;

ALTER TABLE `piwik`.`piwik_access` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_archive_blob_yyyy_mm` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci; -- repeat this for all the tables, with yyyy and mm replaced
ALTER TABLE `piwik`.`piwik_archive_numeric_yyyy_mm` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci; -- repeat this for all the tables, with yyyy and mm replaced
ALTER TABLE `piwik`.`piwik_goal` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_action` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_conversion` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_conversion_item` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_link_visit_action` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_profiling` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_log_visit` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_logger_message` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_option` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_plugin_setting` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_report` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_segment` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_sequence` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_session` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_site` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_site_setting` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_site_url` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_user` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_user_dashboard` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
ALTER TABLE `piwik`.`piwik_user_language` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;

@sgiehl
Copy link
Member

sgiehl commented Feb 12, 2020

this should be fixed when #9785 is done

@sgiehl sgiehl linked a pull request Mar 2, 2020 that will close this issue
@sgiehl sgiehl self-assigned this Apr 21, 2020
@mattab mattab added the Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical. label Sep 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants