dotConnect for PostgreSQL Documentation
Devart.Data.PostgreSql Namespace / PgSqlConnection Class / Unicode Property
Example

In This Topic
    Unicode Property (PgSqlConnection)
    In This Topic
    Gets or sets a value indicating whether the UTF8 charset will be used.
    Syntax
    'Declaration
     
    Public Property Unicode As Boolean
    public bool Unicode {get; set;}

    Property Value

    true, if client charset UTF8 is used; false, if default client charset is used. The default value is false.
    Remarks
    Sets PostgreSQL client charset to UTF8 and converts client data according to this charset.

    When a value is assigned to this property, the PgSqlConnection is closed.

    Example
    The following two functions demonstrate how to use Unicode property to implement charset-safe string transfer.
    public void UploadString(PgSqlConnection pgConnection)
    {
      pgConnection.Unicode = true;
      PgSqlCommand pgCommand = new PgSqlCommand("INSERT INTO Test.TextBlocks (BlockID, BlockName, BlockContent) VALUES(1,'First',:BlockText)", pgConnection);
      pgCommand.Parameters.Add("BlockText",PgSqlType.VarChar,50).Value = "Place here some text that requires Unicode support.";
      pgConnection.Open();
      try
      {
        Console.WriteLine(pgCommand.ExecuteNonQuery()+" rows affected.");
      }
      finally
      {
        pgConnection.Close();
      }
    }                                                                                                                                           
    
    public void DownloadString(PgSqlConnection pgConnection)
    {
      pgConnection.Unicode = true;
      PgSqlCommand pgCommand = new PgSqlCommand("SELECT * FROM Test.TextBlocks", pgConnection);
      pgConnection.Open();
      PgSqlDataReader pgReader = pgCommand.ExecuteReader(CommandBehavior.Default);
      try
      {
        while (pgReader.Read())
        {
          string myString = (string)pgReader["BlockContent"];
          Console.WriteLine(myString);
        }
      }
      finally
      {
        pgReader.Close();
        pgConnection.Close();
      }
    }
    Public Sub UploadString(ByVal pgConnection As PgSqlConnection)
      pgConnection.Unicode = True
      Dim pgCommand As New PgSqlCommand("INSERT INTO Test.TextBlocks (BlockID, BlockName, BlockContent) VALUES(1,'First',:BlockText)", pgConnection)
      pgCommand.Parameters.Add("BlockText", PgSqlType.VarChar, 50).Value = "Place here some text that requires Unicode support."
      pgConnection.Open()
      Try
        Console.WriteLine(String.Concat(pgCommand.ExecuteNonQuery(), " rows affected."))
      Finally
        pgConnection.Close()
      End Try
    End Sub
    
    Public Sub DownloadString(ByVal pgConnection As PgSqlConnection)
    
      pgConnection.Unicode = True
      Dim pgCommand As New PgSqlCommand("SELECT * FROM Test.TextBlocks", pgConnection)
      pgConnection.Open()
      Dim pgReader As PgSqlDataReader = pgCommand.ExecuteReader(CommandBehavior.Default)
      Try
        While pgReader.Read()
          Dim myString As String = CType(pgReader("BlockContent"), String)
          Console.WriteLine(myString)
        End While
      Finally
        pgReader.Close()
        pgConnection.Close()
      End Try
    End Sub
    Requirements

    Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also