ucwords() bug -- Newbie trying to fix it
| From: | Ernesto | Date: | Fri, 21 Dec 2001 23:29:13 +0000 |
| Subject: | ucwords() bug -- Newbie trying to fix it | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-74751@lists.php.net to get a copy of this message | ||
Hi,
I'm using PHP (4.1.0) for Windows and found a bug with the ucwords() function. The problem is with certain international characters. Example: the "tamaños", is converted as "TamañOs". As you can see, the "ñ" is interpreted as a word separator.
What looks stranger is the fact that it will interpret correctly some international characters (i.e. á, é and ë; ASC 160, 161, 130) and will interpret incorrectly some others (i.e. ñ and ü; ASCII 164 and 129).
I was looking at the PHP source code hoping I can do something to fix it, but I found that the isspace() function is used to determine what characters are word separators. Unfortunately, isspace() is a function from the C libraries, which I can not fix (I'm no expert with C) :(
Anyway, I'm not supossed to fix it (the isspace function), because all Windows string functions are supossed to have international character support and Visual C++ is supossed to call the Windows API to acomplish this kind of tasks. I'm I right?
Is there any way I can fix this?
Regards,
Ernesto
Scenario:
Windows XP Professional (spanish version)
+ Apache HTTP Server 1.3.22
+ PHP 4.1.0