this post was submitted on 02 Sep 2023
138 points (100.0% liked)

196

16244 readers
1894 users here now

Be sure to follow the rule before you head out.

Rule: You must post before you leave.

^other^ ^rules^

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 14 points 1 year ago (1 children)

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.

[–] [email protected] 3 points 1 year ago (1 children)

A poop emoji broke my ETL pipeline.

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 2 points 1 year ago

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.