Page MenuHomePhabricator

When "utf8mb4" is available, use it as the default client charset when invoking standalone "mysql" commands
ClosedPublic

Authored by epriestley on Aug 27 2019, 10:33 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 10, 3:31 PM
Unknown Object (File)
Jan 9 2024, 8:22 AM
Unknown Object (File)
Dec 21 2023, 9:07 PM
Unknown Object (File)
Dec 16 2023, 7:46 PM
Unknown Object (File)
Dec 10 2023, 1:28 PM
Unknown Object (File)
Dec 4 2023, 3:24 PM
Unknown Object (File)
Nov 30 2023, 6:24 AM
Unknown Object (File)
Nov 28 2023, 8:32 AM
Subscribers
None

Details

Summary

Fixes T13390. We have some old code which doesn't dynamically select between "utf8mb4" and "utf8". This can lead to dumping utf8mb4 data over a utf8 connection in bin/storage dump, which possibly corrupts some emoji/whales.

Instead, prefer "utf8mb4" if it's available.

Test Plan

Ran bin/storage dump and bin/storage shell, saw sub-commands select utf8mb4 as the client charset.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable