2
如果該字母是特定於語言的字符,那麼返回字符串的第一個字母時出現問題。當它是語言特定的字符時返回第一個字母
這種情況的原因很簡單:保存在字符串中的特定字符需要多個字符,並且解碼僅在具有正確編碼的html中顯示時纔會發生。
當我嘗試在php,smarty(截斷到第一個字符)或甚至MySQL上做這個,我只有部分以UTF編碼的字母(例如: 而不是真正的語言特定字符)。
有什麼辦法可以做到這一點嗎?
謝謝
如果該字母是特定於語言的字符,那麼返回字符串的第一個字母時出現問題。當它是語言特定的字符時返回第一個字母
這種情況的原因很簡單:保存在字符串中的特定字符需要多個字符,並且解碼僅在具有正確編碼的html中顯示時纔會發生。
當我嘗試在php,smarty(截斷到第一個字符)或甚至MySQL上做這個,我只有部分以UTF編碼的字母(例如: 而不是真正的語言特定字符)。
有什麼辦法可以做到這一點嗎?
謝謝
使用multibyte string functions。例如,在這裏你可以使用mb_substr。
$first_char = mb_substr($s, 0, 1, 'UTF-8');
這裏我假設你使用的是UTF-8。
非常感謝。它正在工作。 :) – KLXN 2011-01-09 09:51:45