len function does not count special characters

Certified Lead Developer

Hello there,

We are validating a text entered by the user to be under 4000 characters to avoid Oracle errors.
We are using the function "len" to do that.

However, the function is not taking into account special characters (but Oracle does). Is there a way to count the real length of a string including special characters such as return line?

For example
0123456789
0123456789

are 21 characters including one return line in Oracle.

Many thanks!

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    The one super interesting case I ran into, which would be good to watch out for, is the difference between the search() function and find() function.  One is case sensitive, the other is not.

    But also, one registers capital I with a dot on top as 1 letter; the other registers it as 2 letters.  I think it was search() which is case insensitive and correctly reads letters with accents as 1 letter.  If you're using the wrong function to locate the end of an XML file with a few of those special characters in there, you could wind up having a bad day like I did.

Reply
  • 0
    Certified Lead Developer

    The one super interesting case I ran into, which would be good to watch out for, is the difference between the search() function and find() function.  One is case sensitive, the other is not.

    But also, one registers capital I with a dot on top as 1 letter; the other registers it as 2 letters.  I think it was search() which is case insensitive and correctly reads letters with accents as 1 letter.  If you're using the wrong function to locate the end of an XML file with a few of those special characters in there, you could wind up having a bad day like I did.

Children
No Data