ID: 47742 Updated by: j...@php.net Reported By: fsb at thefsb dot org -Status: Open +Status: Feedback Bug Type: mbstring related Operating System: os x PHP Version: 5.2.9 New Comment:
This script: <?php $s = 'Χιόνια, βροχές και θυελλώδεις άνεμοι συνθέτουν το'; echo "orig: $s\n"; $s = mb_strtoupper($s); echo "mb_strtoupper: $s\n"; $s = mb_convert_case($s, MB_CASE_UPPER, "UTF-8"); echo "mb_convert_case (upper): $s\n"; $s = mb_strtolower($s); echo "mb_strtolower: $s\n"; $s = mb_convert_case($s, MB_CASE_LOWER, "UTF-8"); echo "mb_convert_case (lower): $s\n"; ?> Outputs: orig: Χιόνια, βροχές και θυελλώδεις άνεμοι συνθέτουν το mb_strtoupper: ΧΙΌΝΙΑ, ΒΡΟΧΈΣ ΚΑΙ ΘΥΕΛΛΏΔΕΙΣ ΆΝΕΜΟΙ ΣΥΝΘΈΤΟΥΝ ΤΟ mb_convert_case (upper): ΧΙΌΝΙΑ, ΒΡΟΧΈΣ ΚΑΙ ΘΥΕΛΛΏΔΕΙΣ ΆΝΕΜΟΙ ΣΥΝΘΈΤΟΥΝ ΤΟ mb_strtolower: χιόνια, βροχέσ και θυελλώδεισ άνεμοι συνθέτουν το mb_convert_case (lower): χιόνια, βροχέσ και θυελλώδεισ άνεμοι συνθέτουν το And this is quite correct.. Previous Comments: ------------------------------------------------------------------------ [2009-05-05 11:37:26] fsb at thefsb dot org in both test scripts i provided yesterday, the character set is unicode and the encoding is utf-8. in the short test script that i provided 4 May 7:02pm UTC, there is only one short Hangul test string and no Greek, as you said. in the longer test script i provided at 4 May 5:00pm UTC, several alphabets are used including Greek, Cyrillic, Hebrew, Arabic, Thai, Kanji, ... in case it makes life easier for you, i put the longer test script on a web server: http://tomworster.net/test.php.gz it's only 1kbyte. ------------------------------------------------------------------------ [2009-05-05 02:02:39] j...@php.net One last question: What is the charset you used? I don't see any greek chars anywhere.. ;) ------------------------------------------------------------------------ [2009-05-04 19:02:43] fsb at thefsb dot org <?php $s = 'ì´ë©° ì¸ê³'; print(phpversion() . "\n"); print("1: $s\n"); print('2: '. ($s = mb_strtoupper($s)) . "\n"); print('3'. ($s = mb_convert_case($s, MB_CASE_UPPER, "UTF-8")) . "\n"); print('4: '. ($s = mb_strtolower($s)) . "\n"); print('5: '. ($s = mb_convert_case($s, MB_CASE_LOWER, "UTF-8")) . "\n"); ?> ./php -f test2.php 5.2.10-dev 1: ì´ë©° ì¸ê³ 2: Ì?Ë©? Ì?ʳ? 3ÌË© Ìʳ 4: ?? ?? 5: expected output: 1: ì´ë©° ì¸ê³ 2: ì´ë©° ì¸ê³ 3: ì´ë©° ì¸ê³ 4: ì´ë©° ì¸ê³ 5: ì´ë©° ì¸ê³ ------------------------------------------------------------------------ [2009-05-04 18:46:54] j...@php.net Please provide a bit shorter example script. Or does the bug only appear with such long strings..? ------------------------------------------------------------------------ [2009-03-21 17:42:53] fsb at thefsb dot org Description: ------------ In some alphabets including greek, mb_strtoupper and mb_strtolower fail on strings that mb_convert_case handles ok. Reproduce code: --------------- <?php $strs = array( '××××ס: ר×צ×× ××ש××× ×ת עסקת ש××× ××××ר×ת ××פשר×ת', 'اÙرا٠Ùا تر٠تغÙÙرا Ù٠اÙÙ ÙÙ٠اÙأ٠رÙÙÙ', 'ç¬ã»ç±³ã§æ»å·è ãåºããéã®ä¹±å°äºä»¶', 'åæé ç®èå ¬å¸é©äººç赤åæ¸æå¾', 'ì´ë©° ì¸ê³ ê²½ì íë³µì 걸림ëì´ ëê³ ìë¤', 'РдагеÑÑанÑком леÑном маÑÑиве Ñжнее Ñела ÐакаÑÑÑа', 'à¸à¸²à¸¢à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¹ รุà¹à¸à¸ªà¸°à¸à¸²à¸ à¸à¸¥à¸±à¸à¹à¸à¸¨à¸à¸²à¸¥ รัà¸à¸©à¸²à¸à¸²à¸£à¹à¸à¸à¸à¸²à¸¢à¸à¹à¸à¸¨à¸¡à¸à¸à¸£à¸µ à¸.à¸à¹à¸²à¸à¸à¸à¹à¸«à¸¡à¹', 'àªàª¾àª°àª¤à«àª¯ àªà«àª®àª¨à« સà«àªµàª°à«àª£ યà«àª : àªàª¿àªµà«àªàª®àª¾àª પણ àªàª®àª¾àª²', 'à½à½à½¦à¼à½à½à½¢à¼à½à½à½ºà½¦à¼à½¦à¼à½à½´à½£à¼à½à½´à¼à½¢à¾à¾±à¼à½à½à½´à½à¼à½£à¼à½à½²à¼à½à½ ིà¼à½à½¼à¼à½¢à¾à½¼à½£à¼', 'ΧιÏνια, βÏοÏÎÏ ÎºÎ±Î¹ Î¸Ï ÎµÎ»Î»ÏÎ´ÎµÎ¹Ï Î¬Î½ÎµÎ¼Î¿Î¹ ÏÏ Î½Î¸ÎÏÎ¿Ï Î½ Ïο', 'ÕÕ¡ÕµÕ¡Õ½Õ¿Õ¡Õ¶Õ¸ÖÕ´ Õ½Õ¯Õ½Õ¾Õ¥Õ¬ Õ§ Õ¤Õ¡Õ¿Õ¡Õ¯Õ¡Õ¶ Õ°Õ¡Õ´Õ¡Õ¯Õ¡ÖÕ£Õ« Õ±Õ¥ÖÕ¡Õ¾Õ¸ÖÕ¸ÖÕ´Õ¨', 'á á£á¡ááá áá¡ááá ááááááá¡ á¡ááá®ááá á'); foreach ($strs as $s) { print("\n$s\n"); print(($s = mb_strtoupper($s)) . "\n"); // cf: print(($s = mb_convert_case($s, MB_CASE_UPPER, "UTF-8")) . "\n"); print(($s = mb_strtolower($s)) . "\n"); // cf: print(($s = mb_convert_case($s, MB_CASE_LOWER, "UTF-8")) . "\n"); } ?> Expected result: ---------------- ××××ס: ר×צ×× ××ש××× ×ת עסקת ש××× ××××ר×ת ××פשר×ת ××××ס: ר×צ×× ××ש××× ×ת עסקת ש××× ××××ר×ת ××פשר×ת ××××ס: ר×צ×× ××ש××× ×ת עסקת ש××× ××××ר×ת ××פשר×ת اÙرا٠Ùا تر٠تغÙÙرا Ù٠اÙÙ ÙÙ٠اÙأ٠رÙÙ٠اÙرا٠Ùا تر٠تغÙÙرا Ù٠اÙÙ ÙÙ٠اÙأ٠رÙÙ٠اÙرا٠Ùا تر٠تغÙÙرا Ù٠اÙÙ ÙÙ٠اÙأ٠رÙÙÙ ç¬ã»ç±³ã§æ»å·è ãåºããéã®ä¹±å°äºä»¶ ç¬ã»ç±³ã§æ»å·è ãåºããéã®ä¹±å°äºä»¶ ç¬ã»ç±³ã§æ»å·è ãåºããéã®ä¹±å°äºä»¶ åæé ç®èå ¬å¸é©äººç赤åæ¸æå¾ åæé ç®èå ¬å¸é©äººç赤åæ¸æå¾ åæé ç®èå ¬å¸é©äººç赤åæ¸æå¾ ì´ë©° ì¸ê³ ê²½ì íë³µì 걸림ëì´ ëê³ ìë¤ ì´ë©° ì¸ê³ ê²½ì íë³µì 걸림ëì´ ëê³ ìë¤ ì´ë©° ì¸ê³ ê²½ì íë³µì 걸림ëì´ ëê³ ìë¤ Ð Ð´Ð°Ð³ÐµÑÑанÑком леÑном маÑÑиве Ñжнее Ñела ÐакаÑÑÑа Ð ÐÐÐÐСТÐÐСÐÐÐ ÐÐСÐÐÐ ÐÐССÐÐРЮÐÐÐРСÐÐÐ ÐÐÐÐШУРРв дагеÑÑанÑком леÑном маÑÑиве Ñжнее Ñела какаÑÑÑа à¸à¸²à¸¢à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¹ รุà¹à¸à¸ªà¸°à¸à¸²à¸ à¸à¸¥à¸±à¸à¹à¸à¸¨à¸à¸²à¸¥ รัà¸à¸©à¸²à¸à¸²à¸£à¹à¸à¸à¸à¸²à¸¢à¸à¹à¸à¸¨à¸¡à¸à¸à¸£à¸µ à¸.à¸à¹à¸²à¸à¸à¸à¹à¸«à¸¡à¹ à¸à¸²à¸¢à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¹ รุà¹à¸à¸ªà¸°à¸à¸²à¸ à¸à¸¥à¸±à¸à¹à¸à¸¨à¸à¸²à¸¥ รัà¸à¸©à¸²à¸à¸²à¸£à¹à¸à¸à¸à¸²à¸¢à¸à¹à¸à¸¨à¸¡à¸à¸à¸£à¸µ à¸.à¸à¹à¸²à¸à¸à¸à¹à¸«à¸¡à¹ à¸à¸²à¸¢à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¹ รุà¹à¸à¸ªà¸°à¸à¸²à¸ à¸à¸¥à¸±à¸à¹à¸à¸¨à¸à¸²à¸¥ รัà¸à¸©à¸²à¸à¸²à¸£à¹à¸à¸à¸à¸²à¸¢à¸à¹à¸à¸¨à¸¡à¸à¸à¸£à¸µ à¸.à¸à¹à¸²à¸à¸à¸à¹à¸«à¸¡à¹ àªàª¾àª°àª¤à«àª¯ àªà«àª®àª¨à« સà«àªµàª°à«àª£ યà«àª : àªàª¿àªµà«àªàª®àª¾àª પણ àªàª®àª¾àª² àªàª¾àª°àª¤à«àª¯ àªà«àª®àª¨à« સà«àªµàª°à«àª£ યà«àª : àªàª¿àªµà«àªàª®àª¾àª પણ àªàª®àª¾àª² àªàª¾àª°àª¤à«àª¯ àªà«àª®àª¨à« સà«àªµàª°à«àª£ યà«àª : àªàª¿àªµà«àªàª®àª¾àª પણ àªàª®àª¾àª² à½à½à½¦à¼à½à½à½¢à¼à½à½à½ºà½¦à¼à½¦à¼à½à½´à½£à¼à½à½´à¼à½¢à¾à¾±à¼à½à½à½´à½à¼à½£à¼à½à½²à¼à½à½ ིà¼à½à½¼à¼à½¢à¾à½¼à½£à¼ à½à½à½¦à¼à½à½à½¢à¼à½à½à½ºà½¦à¼à½¦à¼à½à½´à½£à¼à½à½´à¼à½¢à¾à¾±à¼à½à½à½´à½à¼à½£à¼à½à½²à¼à½à½ ིà¼à½à½¼à¼à½¢à¾à½¼à½£à¼ à½à½à½¦à¼à½à½à½¢à¼à½à½à½ºà½¦à¼à½¦à¼à½à½´à½£à¼à½à½´à¼à½¢à¾à¾±à¼à½à½à½´à½à¼à½£à¼à½à½²à¼à½à½ ིà¼à½à½¼à¼à½¢à¾à½¼à½£à¼ ΧιÏνια, βÏοÏÎÏ ÎºÎ±Î¹ Î¸Ï ÎµÎ»Î»ÏÎ´ÎµÎ¹Ï Î¬Î½ÎµÎ¼Î¿Î¹ ÏÏ Î½Î¸ÎÏÎ¿Ï Î½ Ïο ΧÎÎÎÎÎ, ÎΡÎΧÎΣ ÎÎÎ ÎÎ¥ÎÎÎÎÎÎÎΣ ÎÎÎÎÎΠΣΥÎÎÎΤÎΥΠΤΠÏιÏνια, βÏοÏÎÏ ÎºÎ±Î¹ Î¸Ï ÎµÎ»Î»ÏÎ´ÎµÎ¹Ï Î¬Î½ÎµÎ¼Î¿Î¹ ÏÏ Î½Î¸ÎÏÎ¿Ï Î½ Ïο ÕÕ¡ÕµÕ¡Õ½Õ¿Õ¡Õ¶Õ¸ÖÕ´ Õ½Õ¯Õ½Õ¾Õ¥Õ¬ Õ§ Õ¤Õ¡Õ¿Õ¡Õ¯Õ¡Õ¶ Õ°Õ¡Õ´Õ¡Õ¯Õ¡ÖÕ£Õ« Õ±Õ¥ÖÕ¡Õ¾Õ¸ÖÕ¸ÖÕ´Õ¨ ÕÔ±Õ Ô±ÕÕÔ±ÕÕÕÕ ÕÔ¿ÕÕÔµÔ¼ Ô· Ô´Ô±ÕÔ±Ô¿Ô±Õ ÕÔ±ÕÔ±Ô¿Ô±ÕÔ³Ô» ÕÔµÕÔ±ÕÕÕÕÕÕÔ¸ Õ°Õ¡ÕµÕ¡Õ½Õ¿Õ¡Õ¶Õ¸ÖÕ´ Õ½Õ¯Õ½Õ¾Õ¥Õ¬ Õ§ Õ¤Õ¡Õ¿Õ¡Õ¯Õ¡Õ¶ Õ°Õ¡Õ´Õ¡Õ¯Õ¡ÖÕ£Õ« Õ±Õ¥ÖÕ¡Õ¾Õ¸ÖÕ¸ÖÕ´Õ¨ á á£á¡ááá áá¡ááá ááááááá¡ á¡ááá®ááá á á á£á¡ááá áá¡ááá ááááááá¡ á¡ááá®ááá á á á£á¡ááá áá¡ááá ááááááá¡ á¡ááá®ááá á Actual result: -------------- ××××ס: ר×צ×× ××ש××× ×ת עסקת ש××× ××××ר×ת ××פשר×ת ××××ס: ר×צ×× ××ש××× ×ת עסקת ש××× ××××ר×ת ××פשר×ת ××××ס: ר×צ×× ××ש××× ×ת עסקת ש××× ××××ר×ת ××פשר×ת اÙرا٠Ùا تر٠تغÙÙرا Ù٠اÙÙ ÙÙ٠اÙأ٠رÙÙ٠اÙرا٠Ùا تر٠تغÙÙرا Ù٠اÙÙ ÙÙ٠اÙأ٠رÙÙÙ ?????????? ???? ?????? ???????????? ???? ???????????? ???????????????? ç¬ã»ç±³ã§æ»å·è ãåºããéã®ä¹±å°äºä»¶ Ç?Ã?DZ?Ã?Æ?Å?È?Ã?Å?Ã?Ã?É?Ã?Ĺ?Å°?ĺ?Ä»? ç¬ã»ç±³ã§æ»å·è ãåºããéã®ä¹±å°äºä»¶ åæé ç®èå ¬å¸é©äººç赤åæ¸æå¾ Å?Æ?É ?Ç®?È?Å ?Ÿ?É©?ĺ?Ç????Å?Æ?Æ?ž? åæé ç®èå ¬å¸é©äººç???åæ¸æå¾ ì´ë©° ì¸ê³ ê²½ì íë³µì 걸림ëì´ ëê³ ìë¤ Ì?Ë©? Ì?ʳ? ʲ?Ì ? Í?˳?Ì? ʱ?˦?Ë?Ì? Ë?ʳ? Ì?Ë? ì´ë©° ì¸ê³ ê²½ì í??ì 걸림ëì´ ëê³ ìë¤ Ð Ð´Ð°Ð³ÐµÑÑанÑком леÑном маÑÑиве Ñжнее Ñела ÐакаÑÑÑа Рдаг??ÑÑанÑком л??Ñном маÑÑив?? Ñжн???? Ñ??ла ÐакаÑÑÑа ? ????????????? ??????? ???????? ??????? ????? ???????? à¸à¸²à¸¢à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¹ รุà¹à¸à¸ªà¸°à¸à¸²à¸ à¸à¸¥à¸±à¸à¹à¸à¸¨à¸à¸²à¸¥ รัà¸à¸©à¸²à¸à¸²à¸£à¹à¸à¸à¸à¸²à¸¢à¸à¹à¸à¸¨à¸¡à¸à¸à¸£à¸µ à¸.à¸à¹à¸²à¸à¸à¸à¹à¸«à¸¡à¹ ???????????????????????????????????? ??????????????????????????? ????? ????????????????????????? ???????????????????????????????????????????? ????????????????????????? ???.?????????????????????????????? à¸à¸²à¸¢à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¹ รุà¹à¸à¸ªà¸°à¸à¸²à¸ à¸à¸¥à¸±à¸à¹à¸à¸¨à¸à¸²à¸¥ รัà¸à¸©à¸²à¸à¸²à¸£à¹à¸à¸à¸à¸²à¸¢à¸à¹à¸à¸¨à¸¡à¸à¸à¸£?? à¸.à¸à¹à¸²à¸à¸à¸à¹à¸«à¸¡à¹ àªàª¾àª°àª¤à«àª¯ àªà«àª®àª¨à« સà«àªµàª°à«àª£ યà«àª : àªàª¿àªµà«àªàª®àª¾àª પણ àªàª®àª¾àª² ?????????????????? ??????????????? ?????????????????? ????????? : ???? ???????????????????? ?????? ???????????? àªàª¾àª°àª¤à«àª¯ àªà«àª®àª¨à« સà«??રà«àª£ યà«àª : àªàª¿??à«àªàª®àª¾àª પણ àªàª®àª¾àª² à½à½à½¦à¼à½à½à½¢à¼à½à½à½ºà½¦à¼à½¦à¼à½à½´à½£à¼à½à½´à¼à½¢à¾à¾±à¼à½à½à½´à½à¼à½£à¼à½à½²à¼à½à½ ིà¼à½à½¼à¼à½¢à¾à½¼à½£à¼ ?????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????? ???? à½à½à½¦à¼à½à½à½¢à¼à½à½à½ºà½¦à¼à½¦à¼à½à½´à½£à¼à½à½´à¼à½¢à¾à¾±à¼à½à½à½´à½à¼à½£à¼à½à½²à¼à½à½ ིà¼à½à½¼à¼à½¢à¾à½¼à½£à¼ ΧιÏνια, βÏοÏÎÏ ÎºÎ±Î¹ Î¸Ï ÎµÎ»Î»ÏÎ´ÎµÎ¹Ï Î¬Î½ÎµÎ¼Î¿Î¹ ÏÏ Î½Î¸ÎÏÎ¿Ï Î½ Ïο ΧιÏνια, βÏοÏÎÏ ÎºÎ±Î¹ Î¸Ï ??λλÏδ??Î¹Ï Î¬Î½??μοι ÏÏ Î½Î¸ÎÏÎ¿Ï Î½ Ïο ??????, ?????? ??? ???????????? ??????? ????????? ?? ÕÕ¡ÕµÕ¡Õ½Õ¿Õ¡Õ¶Õ¸ÖÕ´ Õ½Õ¯Õ½Õ¾Õ¥Õ¬ Õ§ Õ¤Õ¡Õ¿Õ¡Õ¯Õ¡Õ¶ Õ°Õ¡Õ´Õ¡Õ¯Õ¡ÖÕ£Õ« Õ±Õ¥ÖÕ¡Õ¾Õ¸ÖÕ¸ÖÕ´Õ¨ ÕÕ¡??Õ¡Õ½Õ¿Õ¡Õ¶Õ¸ÖÕ´ Õ½Õ¯Õ½Õ¾Õ¥Õ¬ Õ§ Õ¤Õ¡Õ¿Õ¡Õ¯Õ¡Õ¶ Õ°Õ¡Õ´Õ¡Õ¯Õ¡ÖÕ£Õ« Õ±Õ¥ÖÕ¡Õ¾Õ¸ÖÕ¸ÖÕ´Õ¨ ?????????????????????? ???????????? ?? ?????????????? ???????????????? ?? ?????????????????????? á á£á¡ááá áá¡ááá ááááááá¡ á¡ááá®ááá á ?????????????????? ??????????????? ????????????????????? ????????????? ??????????? á á£á¡ááá áá¡ááá ááááááá¡ á¡ááá®ááá á ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=47742&edit=1