Mysql charset problem

software development

#1

Hi,

I’m using my database to store big5 encoded text… I noticed that myphpadmin changed and I can’t select Big5 as the language anymore… the mysql language is set to UTF-8 (don’t know from where it got this information, nor do I know how to change it) and the collation is set to latin1_swedish_ci.
I can’t insert any big5 encoded text anymore without getting just messed up characters back. I tried to change the collation of a field to big5 put it destroyed the whole encoding and switching back to Latin1_swedish_ci didn’t fix the problem (now I got a lot of ??? instead of chinese text in my database)

Any help is appreciated

roland


#2

I installed my own copy of phpmyadmin on my server and I’ve noticed quite a few changes on the main page itself. First this message at the bottom

And a lot more language options.
I can also create databases from the main panel of my own installation which is a bug probably, since they possibly don’t want us to create our own databases without using their system *-).

Anyway, if you install your own phpmyadmin, it seems you can select the language, the mysql charset, the mysql connection collation and also create new databases with your own charset… I forgot my user names/passwords for the ‘official’ myadmin panel so I can’t tell if you can do this now anyway…

As for you ??? problem, I guess that if it converted the encoding and you tried to convert it back, you will be stuck with the ???. I’m not sure how it works, but I’d guess if it couldn’t find the right value for the encoding in swedish, it’s just replace it with the real value for ?. Maybe you can restore from a backup?


#3

I don’t want to install my own phpmyadmin if not necessary (I wouldn’t know how to do it anyway). I tried to set back the collation for a field in my db after I found out that it messed with the text when I switched it to big5, but the changes it made seem irreversible. I guess I need to upload those information again :(… but cut and paste into the fields won’t work because I can’t set the language of phpmyadmin to big5 as it was possible until recently (now I can only choose different UTF-8 languages)…and without big5 the chinese won’t be stored as chinese


#4

Installing your own version is easy. Installing is the wrong word because you just unzip the files to your server. That’s it. You change the host/db/user obviously but that’s it. Try it yourself, it might be what you need.

How about setting up a web page to input the data (just a simple one). You can use htmlspecialchars($input) which should convert the big5 to things like &3456; or something. I’ve had that happen to me. It should convert the (chinese/foreign) characters to html equivalents.

& #26412; = http://www.decswxaqz.co.uk/charset.php

(I’m not sure what encoding it is in because that’s from a chinese spammer who left a message on site -_-)

EDIT: Added space between & #


#5

I’ve got a website form to input some data… and it still works fine cause it takes the data from the big5 encoded webpage to the db directly… it’s true that in phpmyadmin I can only see & #26412 but back on the big5 website it looks fine…
It’s just that in phpmyadmin I can’t choose big5 as the language anymore… very annoying!
I guess I will create a update form so I can at least bring back the stuff that got lost and wait what dreamhost has to say about this problem (usually takes a while to get an answer)
Thanks anyway