Falscher Zeichenfolgenwert: '\ xEF \ xBF \ xBD' für Spalte
Ich habe einen Tisch, an dem ich mit verschiedenen Charakteren umgehen kann. Die Zeichen umfassen Ø, ® usw.
Ich habe meine Tabelle als Standardkollatierung auf utf-8 gesetzt. Alle Spalten verwenden den Tabellenstandard. Wenn ich jedoch versuche, diese Zeichen einzufügen, erhalte ich folgende Fehlermeldung: Falscher Zeichenfolgenwert: '\ xEF \ xBF \ xBD' für Spalte 'buyerName' unter Reihe 1
Meine Verbindungszeichenfolge ist definiert als
string mySqlConn = "server="+server+";user="+username+";database="+database+";port="+port+";password="+password+";charset=utf8;";
Ich weiß nicht, warum ich immer noch Fehler sehe. Habe ich irgendetwas mit dem .net-Connector oder mit meinem MySQL-Setup verpasst?
--Bearbeiten--
Meine (neue) C # -Einfügeanweisung sieht folgendermaßen aus:
MySqlCommand insert = new MySqlCommand( "INSERT INTO fulfilled_Shipments_Data " +
"(amazonOrderId,merchantOrderId,shipmentId,shipmentItemId,"+
"amazonOrderItemId,merchantOrderItemId,purchaseDate,"+ ...
VALUES (@amazonOrderId,@merchantOrderId,@shipmentId,@shipmentItemId,"+
"@amazonOrderItemId,@merchantOrderItemId,@purchaseDate,"+
"paymentsDate,shipmentDate,reportingDate,buyerEmail,buyerName,"+ ...
insert.Parameters.AddWithValue("@amazonorderId",lines[0]);
insert.Parameters.AddWithValue("@merchantOrderId",lines[1]);
insert.Parameters.AddWithValue("@shipmentId",lines[2]);
insert.Parameters.AddWithValue("@shipmentItemId",lines[3]);
insert.Parameters.AddWithValue("@amazonOrderItemId",lines[4]);
insert.Parameters.AddWithValue("@merchantOrderItemId",lines[5]);
insert.Parameters.AddWithValue("@purchaseDate",lines[6]);
insert.Parameters.AddWithValue("@paymentsDate",lines[7]);
insert.ExecuteNonQuery();
Unter der Annahme, dass dies der richtige Weg ist, parametrisierte Anweisungen zu verwenden, wird dennoch ein Fehler ausgegeben
"Incorrect string value: '\xEF\xBF\xBD' for column 'buyerName' at row 1"
Irgendwelche anderen Ideen?