diff -r 0b68a1b0c15e -r a9c0808a1095 serviceproviders/sapi_messaging/messagingservice/src/sendmessage.cpp --- a/serviceproviders/sapi_messaging/messagingservice/src/sendmessage.cpp Tue Aug 31 16:06:03 2010 +0300 +++ b/serviceproviders/sapi_messaging/messagingservice/src/sendmessage.cpp Wed Sep 01 12:28:47 2010 +0100 @@ -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);