Izaya Orihara Posted May 24, 2015 Author Posted May 24, 2015 Okay; yep. It seems to be upgraded installations that it's reproducible on. I wonder if this is why it couldn't be reproduced by staff... This happened after setting username to: ?A Username It still didn't "Delete" the account though, so I suspect (and hope) the account is still there, somewhere, Dorian. I have my fingers crossed for you. BUT... I had a look at my database; more specifically Collation's. Take a peak at this noise: Now I would like to say Collation doesn't imply causation... xP But then I remembered what @Ralf H. said earlier: An emoji is a 4byte character, right? So I looked into it and found that it was utf8_unicode_ci which I changed to utf8mb4_unicoode_ci. This didn't fix it, and I found that the actual name was also stuck on this collation, so I changed that to utf8mb4_unicoode_ci and all. This didn't work either. But silly me, it's also varchar(255) -> Which I changed to BLOB, (As a type)... Low and behold: Fixed it. that sounds so foreign to me dumb it down for me lol
NoGi Posted May 25, 2015 Posted May 25, 2015 An emoji is a 4byte character, right? So I looked into it and found that it was utf8_unicode_ci which I changed to utf8mb4_unicoode_ci. This didn't fix it, and I found that the actual name was also stuck on this collation, so I changed that to utf8mb4_unicoode_ci and all. This didn't work either. But silly me, it's also varchar(255) -> Which I changed to BLOB, (As a type)... Low and behold: Fixed it. And here I was thinking I made a mistake choosing utf8mb4_unicoode_ci over just utf8_unicoode_ci. lol
Tripp★ Posted May 25, 2015 Posted May 25, 2015 that sounds so foreign to me dumb it down for me lol Dumb it down? In a few words... Wait for IPS. xP In seriousness; you're basically putting Emoji into a field that (in the database) can't support it. Instead of stripping the incompatible character out - it blanks the whole field. DO NOT FOLLOW MY STEPS IN "FIXING IT" because (and I only found this out this morning) it will lockout the other accounts saying it's not in the database. I will look at how a clean install of IPS4 does it and see if I can come up with a working solution, although I don't recommend doing anything until IPS Support tells you to, as I am still learning about all of this stuff myself and just sharing what I find out. At the moment I get the following error "The Display Name you entered does not belong to any account. Make sure that it is typed correctly." And here I was thinking I made a mistake choosing utf8mb4_unicoode_ci over just utf8_unicoode_ci. lol In the converter (the thing we had to run before upgrading) I did select utf8mb4_unicoode_ci. For some reason the converter didn't work properly. I'm going to go out on a limb here and say @Dorian Gray used the UTF8 converter before updating from 3.4.x to 4.0.x which would make sense because we had to. I have no idea if s/he used utf8mb4_unicoode_ci or utf8_unicoode_ci but I know for sure I picked the former, definitely not the latter - because it was conscious decision that had to be debated with my fellow administrators for our site. For example: utf8mb4_unicoode_ci: Slower Speed + Emoji Support <--- Which we wantedutf8_unicoode_ci: Faster Speed + No Emoji Support My guess is for whatever reason the converter failed, and whilst I did make a backup; I did the conversion way before Christmas and I was only told to back up incase it didn't work and after it did work I wouldn't need the backup. If this is a bug that was fixed in the converter that I will need to convert my old database again I'd be rolling back to before September 2014; which is unacceptable, or... I can restart my forums which is outrageously unacceptable. My only choice is to hope that the converter can do it properly or manually change the types and collations myself; or wait and see if IPS can suggest anything better. I sort of did this whilst I was waiting, in the hopes that it could help locate and track down where the problem was and what was causing it. I also tried to see in what circumstance would it cause one's account to be deleted; I can't answer that because I don't know. I wasn't able to get an account to be deleted, just their username. Edit: A fresh install has all tables set to utf8mb4_unicode_ci and the display name table is set to varchar(255) utf8mb4_unicode_ci not blob utf8mb4_unicode_ci which didn't work for me when I played around with it yesterday from a converted one. I should have known it wasn't that simple.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.