your table needs to use nvarchar and not varchar fields to hold unicode data.
in addition, any parameters you are using also need to be nvarchar...so in .NET language, for example if you declared a SQL Parameter that was not nvarchar, the parameter would convert your data to question marks, and then store it in a field that ahd the ability to store it correct.
Dim pAgencyAlias As New SqlParameter("@AgencyAlias", SqlDbType.VarChar, 30)
--should be
Dim pAgencyAlias As New SqlParameter("@AgencyAlias", SqlDbType.NVarChar, 30)
example of accidental implicit conversion:
/*--Results
(No column name)(No column name)
??/?? ??/??
(No column name)(No column name)
??/?? ??/??
*/
declare @var varchar(10),
@nvar nvarchar(10)
SELECT @var = ' ??/??' ,@nvar = ' ??/??'
SELECT @var,@nvar
SELECT @var = N' ??/??' ,@nvar = N' ??/??'
SELECT @var,@nvar
Lowell