diff -r ea43c23d28d2 -r 1aa6688bfd6b serviceproviders/sapi_messaging/messagingservice/src/sendmessage.cpp --- a/serviceproviders/sapi_messaging/messagingservice/src/sendmessage.cpp Tue May 11 17:01:36 2010 +0300 +++ b/serviceproviders/sapi_messaging/messagingservice/src/sendmessage.cpp Tue May 25 13:38:11 2010 +0300 @@ -675,7 +675,20 @@ CSmsHeader& smsHdr = clientMtm->SmsHeader(); CSmsSettings* smsSetting = CSmsSettings::NewLC(); smsSetting->CopyL(clientMtm->ServiceSettings()); + TInt pdus; + TInt numberOfUnconvertedChars; + TInt numberOfDowngradedChars; + TInt freeUDUnitsInLastPDU; + CSmsMessage& smsMsg = smsHdr.Message(); + smsMsg.GetEncodingInfoL(pdus, numberOfUnconvertedChars, numberOfDowngradedChars, freeUDUnitsInLastPDU ); + if( numberOfUnconvertedChars || numberOfDowngradedChars ) + { smsSetting->SetCharacterSet(TSmsDataCodingScheme::ESmsAlphabetUCS2); + } + else + { + smsSetting->SetCharacterSet(TSmsDataCodingScheme::ESmsAlphabet7Bit); + } smsHdr.SetSmsSettingsL(*smsSetting); CleanupStack::PopAndDestroy(smsSetting);