this post was submitted on 02 Sep 2023
137 points (100.0% liked)
196
16555 readers
1623 users here now
Be sure to follow the rule before you head out.
Rule: You must post before you leave.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Omfgf utf8mb4. That one in particular snagged me.
Want to use international languages? Sure, use utf8, it's easy and works everywhere and includes basically every character you could ever want, right? Well, except some popular databases like MySQL where utf8 doesn't actually have the full character set, and is some subset instead. Now in your app some languages will cause weird errors because the characters aren't supported and you won't know why until you dig in and find the issue and that this was considered and a character set that ACTUALLY includes the full set was created and it's called utf8mb4. And you can use it and your app works again but you scratch your head and wonder why a separate set was created when everyone knows the usual utf8 and no one would know to look further, and dig further because you're already this deep and it turns out the answer is sort of that it was convenient at the time. And if a database this popular can have such a strange seemingly broken behavior for no reason then what's going on and does anything really even work. But... then your own spaghetti code doesn't seem so bad.
A poop emoji broke my ETL pipeline.
elaborate
MySQL’s utf8 didn’t support the character – had to migrate to utf8mb4. It was just very fitting that the first time it occurred was with a poop emoji.