aCard->SetCardValue(cardColName, NS_ConvertASCIItoUCS2(cardColValue).get());
aCard->SetCardValue(cardColName, NS_ConvertUTF8toUCS2(cardColValue).get());
static void convertNameValue(VObject *vObj, nsIAbCard *aCard){  const char *cardColName = NULL;  // if the vCard property is not a root property then we need to determine its exact property.  // a good example of this is VCTelephoneProp, this prop has four objects underneath it:  // fax, work and home and cellular.  if (PL_strcasecmp(VCCityProp, vObjectName(vObj)) == 0)      cardColName = kWorkCityColumn;  else if (PL_strcasecmp(VCTelephoneProp, vObjectName(vObj)) == 0)  {      if (isAPropertyOf(vObj, VCFaxProp))          cardColName = kFaxColumn;      else if (isAPropertyOf(vObj, VCWorkProp))          cardColName = kWorkPhoneColumn;       else if (isAPropertyOf(vObj, VCHomeProp))          cardColName = kHomePhoneColumn;      else if (isAPropertyOf(vObj, VCCellularProp))          cardColName = kCellularColumn;      else if (isAPropertyOf(vObj, VCPagerProp))          cardColName = kPagerColumn;      else          return;  }  else if (PL_strcasecmp(VCEmailAddressProp, vObjectName(vObj)) == 0)  {             // only treat it as a match if it is an internet property      VObject* iprop = isAPropertyOf(vObj, VCInternetProp);      if (iprop)          cardColName = kPriEmailColumn;      else          return;  }  else if (PL_strcasecmp(VCFamilyNameProp, vObjectName(vObj)) == 0)       cardColName = kLastNameColumn;  else if (PL_strcasecmp(VCFullNameProp, vObjectName(vObj)) == 0)      cardColName = kDisplayNameColumn;  else if (PL_strcasecmp(VCGivenNameProp, vObjectName(vObj)) == 0)      cardColName = kFirstNameColumn;  else if (PL_strcasecmp(VCOrgNameProp, vObjectName(vObj)) == 0)       cardColName = kCompanyColumn;  else if (PL_strcasecmp(VCOrgUnitProp, vObjectName(vObj)) == 0)      cardColName = kDepartmentColumn;  else if (PL_strcasecmp(VCPostalCodeProp, vObjectName(vObj)) == 0)       cardColName = kWorkZipCodeColumn;  else if (PL_strcasecmp(VCRegionProp, vObjectName(vObj)) == 0)      cardColName = kWorkStateColumn;  else if (PL_strcasecmp(VCStreetAddressProp, vObjectName(vObj)) == 0)      cardColName = kWorkAddressColumn;  else if (PL_strcasecmp(VCPostalBoxProp, vObjectName(vObj)) == 0)       cardColName = kWorkAddress2Column;  else if (PL_strcasecmp(VCCountryNameProp, vObjectName(vObj)) == 0)      cardColName = kWorkCountryColumn;  else if (PL_strcasecmp(VCTitleProp, vObjectName(vObj)) == 0)       cardColName = kJobTitleColumn;  else if (PL_strcasecmp(VCUseHTML, vObjectName(vObj)) == 0)       cardColName = kPreferMailFormatColumn;  else if (PL_strcasecmp(VCNoteProp, vObjectName(vObj)) == 0)       cardColName = kNotesColumn;  else if (PL_strcasecmp(VCURLProp, vObjectName(vObj)) == 0)      cardColName = kWebPage1Column;  else      return;    if (!VALUE_TYPE(vObj))      return;  char *cardColValue = getCString(vObj);  aCard->SetCardValue(cardColName, NS_ConvertASCIItoUCS2(cardColValue).get());  PR_FREEIF(cardColValue);  return;}