fix: add missing charset encoding for UTF8MB4_0900_BIN #3855
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix charset encoding mapping for UTF8MB4_0900_BIN
Problem
MySQL2 throws
Encoding not recognized: 'undefined'error when connecting to MySQL 8.0+ servers usingutf8mb4_0900_bincollation.Root Cause
Mismatch between
charsets.jsandcharset_encodings.js:charsets.jsdefinesUTF8MB4_0900_BIN = 309charset_encodings.jsarray has length 309 (indices 0-308)charset_encodings[309]returnsundefinedIconv.getDecoder(undefined)throws encoding errorSolution
Add missing encoding mapping for index 309 in
charset_encodings.js.Changes
lib/constants/charset_encodings.js'utf8'entry at index 309 forUTF8MB4_0900_BINImpact
utf8mb4_0900_bincollationEncoding not recognized: 'undefined'errors