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
    See Also