MySQL Lists are EOL. Please join:

List:General Discussion« Previous MessageNext Message »
From:John Doe Date:May 9 2005 10:24am
Subject:Re: LENGTH() and UTF-8
View as plain text  
Am Montag, 9. Mai 2005 11.55 schrieb Andreas Steichardt:
> Hi!
>
> We are storing UTF-8 data in out mysql database and we need to get the
> length of the data. But length() doesn't return the number of characters
> but the pure number of bytes.
>
> SELECT LENGTH('köter') => 6
>
> Currently we are doing something like that:
>
> SELECT LENGTH(CONVERT('köter' USING 'ucs2'))/2;
>
> This works fine but a "real" solution like CHAR_LENGTH() or something like
> that would be really apprectiated.


From http://dev.mysql.com/doc/mysql/en/string-functions.html:

CHAR_LENGTH(str)

Returns the length of the string str, measured in characters. A multi-byte 
character counts as a single character. This means that for a string 
containing five two-byte characters, LENGTH() returns 10, whereas 
CHAR_LENGTH() returns 5.


joe
Thread
LENGTH() and UTF-8Andreas Steichardt9 May
  • Re: LENGTH() and UTF-8John Doe9 May
    • Re: LENGTH() and UTF-8Andreas Steichardt9 May
  • Re: LENGTH() and UTF-8Jochem van Dieten9 May