我目前在希臘項目中工作。在該項目中,所有內容都是希臘文,並且我有一個搜索功能。搜索過程很好。但是strtoupper()並沒有將希臘語翻譯爲大寫字母,而strtolower()也沒有將希臘語翻譯爲小寫字母。需要使用strtoupper和strtolower搜索希臘字母中的內容
但英語語言工作正常。有沒有任何可能的方法將希臘字母轉換爲UPPER和LOWER的情況。
感謝
FERO
我目前在希臘項目中工作。在該項目中,所有內容都是希臘文,並且我有一個搜索功能。搜索過程很好。但是strtoupper()並沒有將希臘語翻譯爲大寫字母,而strtolower()也沒有將希臘語翻譯爲小寫字母。需要使用strtoupper和strtolower搜索希臘字母中的內容
但英語語言工作正常。有沒有任何可能的方法將希臘字母轉換爲UPPER和LOWER的情況。
感謝
FERO
沒有理由mb_strtolower()
和mb_strtoupper()
不應該工作:
<?php
header('Content-Type: text/html; charset=utf-8');
echo mb_strtoupper('παπακωνσταντινου', 'UTF-8'); // ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ
echo mb_strtolower('ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ', 'UTF-8'); // παπακωνσταντινου
?>
使用mb_convert_case()
是另一種選擇,特別是如果你想模仿ucwords()
:
<?php
header('Content-Type: text/html; charset=utf-8');
echo mb_convert_case('παπακωνσταντινου', MB_CASE_UPPER, 'UTF-8'); // ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ
echo mb_convert_case('ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ', MB_CASE_LOWER, 'UTF-8'); // παπακωνσταντινου
echo mb_convert_case('παπακωνσταντινου', MB_CASE_TITLE, 'UTF-8'); // Παπακωνσταντινου
?>
感謝您的解釋阿克塞爾,你說得對。 – Fero 2010-01-04 06:50:55
他們是Multibyte String Functions的一部分,可與多字節字符編碼工作。
使用和mb_strtolower()
。
$海峽= 'παπακωνσταντινου';
$ test = mb_convert_case($ str,MB_CASE_UPPER,「UTF-8」);
這是正確的語法。
感謝所有球員的
你不需要必須將針/乾草堆轉換爲大寫字母,以使搜索不區分大小寫。有些函數忽略了case _and_可以處理各種代碼頁/ unicode,例如http://docs.php.net/function.mb-stripos – VolkerK 2009-12-30 15:02:40