title: very strange string unique issue in C#
body: <p>I am using VSTS2008 + C# + .Net 3.0. Here is my code and related exception from ADO.Net. Here is my input two strings in both binary form and text form, any ideas what is wrong? Why the two different strings will be treated as the same by ADO.Net?</p>
  
  <p>Exception message:</p>
  
  <pre><code>An unhandled exception of type 'System.Data.ConstraintException' occurred in System.Data.dll
  
  Additional information: Column 'Name' is constrained to be unique.  Value '������' is already present.
  </code></pre>
  
  <p>Input strings in binary form and text form:</p>
  
  <p><a href="https://i.stack.imgur.com/AFvo7.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/AFvo7.jpg" alt="alt text"></a>
  </p>
  
  <p><a href="https://i.stack.imgur.com/A6ziu.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/A6ziu.jpg" alt="alt text"></a>
  </p>
  
  <p>StackOverflow does not display correctly for my code for strings �����, here is screen snapshot for what it actually looks like in my VSTS 2008 editor.</p>
  
  <p><a href="https://i.stack.imgur.com/H0UuR.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/H0UuR.jpg" alt="alt text"></a>
  </p>
  
  <p>My code:</p>
  
  <pre><code>    static void Main(string[] args)
      {
          string[] buf = new string[] { "����", "������" };
  
          CompareInfo ci = System.Globalization.CultureInfo.InvariantCulture.CompareInfo;
          ci.Compare(buf[0], buf[1], CompareOptions.IgnoreWidth);
          Console.WriteLine (String.Compare(buf[0], buf[1], StringComparison.InvariantCultureIgnoreCase));
  
          DataTable bulkInserTable = new DataTable("BulkRequestTable");
          bulkInserTable.CaseSensitive = true;
          DataColumn column = null;
          DataRow row = null;
  
          // add Keyword column to datatable
          column = new DataColumn();
          column.DataType = System.Type.GetType("System.String");
          column.ColumnName = "Name";
          column.ReadOnly = true;
          column.Unique = true;
          bulkInserTable.Columns.Add(column);
  
          foreach (string item in buf)
          {
              row = bulkInserTable.NewRow();
              row["Name"] = item;
              bulkInserTable.Rows.Add(row);
          }
      }
  </code></pre>