C Drozdowski wrote:
I need to be able to store UTF-8 characters from a form into a MySQL table. But I need to support pre-UTF-8 MySQL (< 4.1).

So I'm converting UTF-8 characters into their numeric entities (e.g. ņ = &#241;).

The problem is that if the user enters a character that gets converted to an entity, the string might end up being longer than the field definition in the table allows.

For example, if I have a varchar(5) column and try to insert "seņor" (which has been converted to "sen&#241;or"), I get "sen&#" in the table which is useless.

Has anyone dealt with this and if so how?

Thanks in advance for any advice, or pointers to any code that deals with this.

You first need to convert to binary charset, and then to the real charset. Do not convert from current charset to the real charset ahead, you may cause a data loss.
BEFORE converting - *backup* your databases !!!


http://dev.mysql.com/doc/mysql/en/charset-conversion.html

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to