[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-doc-bugs
Subject:    [DOC-BUGS] #46402 [Opn->Bgs]: Incorrect case convertions of native letters, after using setlocale
From:       jani () php ! net
Date:       2008-10-27 13:39:11
Message-ID: 200810271339.m9RDdBv1041160 () y1 ! php ! net
[Download RAW message or body]

 ID:               46402
 Updated by:       jani@php.net
 Reported By:      kvv at nightmail dot ru
-Status:           Open
+Status:           Bogus
 Bug Type:         *Languages/Translation
 Operating System: FreeBSD 6.3
 PHP Version:      5.2.6
 New Comment:

PHP 6 will be unicode aware (and already is). PHP 5 never will be.
Please don't report same issues multiple times: Use the search BEFORE
submitting bug reports!!!


Previous Comments:
------------------------------------------------------------------------

[2008-10-27 13:18:25] kvv at nightmail dot ru

Description:
------------
After setting script locale to ru_RU.UTF-8, behavior of functions 
strtoupper and atrtolower becomes unpredictable. Function setlocale, 
reports that encoding is setted to desired. But case conversion make 
no changes or change letters incorrectly (results may vary).




Reproduce code:
---------------
<?php
header('Content-type: text/html; charset=utf-8');
$sL = 'àáâãäå¸æçèéêëìíîïðñòóôõö÷øùúûüýþÿ'; // lower russian alphabet,
source file must be in utf-8 encoding
$sU = 'ÀÁ ÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß'; // upper russian alphabet
echo setlocale(LC_ALL, 'ru_RU.UTF-8') .'<br>';
echo 'Lower to upper:<br>';
echo strtoupper($sL) .'<br>'; // incorrect result
echo mb_strtoupper($sL, 'utf-8') .'<br>'; // correct result, for
comparsion
echo 'Upper to lower:<br>';
echo strtolower($sU) .'<br>'; // incorrect result
echo mb_strtolower($sU, 'utf-8') .'<br>'; // correct result, for
comparsion
?>


Expected result:
----------------
ru_RU.UTF-8
Lower to upper:
ÀÁ ÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
ÀÁ ÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
Upper to lower:
àáâãäå¸æçèéêëìíîïðñòóôõö÷øùúûüýþÿ
àáâãäå¸æçèéêëìíîïðñòóôõö÷øùúûüýþÿ




Actual result:
--------------
ru_RU.UTF-8
Lower to upper:
àáâãä̸æçèéêëìíîïðñòóôõö÷øùúûüýþÿ
ÀÁ ÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
Upper to lower:
&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#6553 \
3;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65 \
533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;
 àáâãäå¸æçèéêëìíîïðñòóôõö÷øùúûüýþÿ





------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=46402&edit=1


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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic