normally the sms encoding could be in 4 forms, (pdu)8 bits, (ucs2)16bits, (assic)7 bits. most of the sms system use ucs2 format for encoding and decoding. usually in symbian s60
sms codes example, we can just send english only sms, but what about cjk language ? after two hours codes hacking, i get can change in the sms header encoding method to solve that problem.

here are the codes examples :

CSmsHeader& header = smsMtm->SmsHeader();
CSmsSettings* sendOptions = CSmsSettings::NewL();
CleanupStack::PushL(sendOptions);
sendOptions->CopyL(smsMtm->ServiceSettings()); // restore existing settings

// set send options
sendOptions->SetDelivery(ESmsDeliveryImmediately); // set to be delivered immediately
// here we modified the character set
sendOptions->SetCharacterSet(TSmsDataCodingScheme::ESmsAlphabetUCS2) ;
// end
header.SetSmsSettingsL(*sendOptions);

add the SetCharacterSet operation, everything would be all right.
yours, WayneChen