Tagi na forum.

C# 1456 XML 282
SQL 1192 sieci 268
ASP.NET 785 IIS 262
Windows 726 C++ 255
web 608 Html 218
Visual Studio 515 Information Technology 193
SQL Server 425 MSDN 167

pokaż wszystkie tagi na forum

SL i MySQL - problem z polskimi znakami

artur.mizera 2011-07-11 18:31:45
0
avatar
 
 
Stworzyłem za pomocą Silverlight, WCF i MySQL aplikację. Pobieram w niej dane z formularzy (Silverlight), przesyłam je do web service (WCF), który łączy się z bazą (MySQL), tworzy zapytanie i je wykonuje. Pojawił się jednak problem z ogonkami w polskich znakach. Otóż po stworzeniu zapytania, w którym jakaś wartość ma polskie znaki, są ogonki są obcinane, i tak zamiast "ą", w bazie mam "a", zamiast "ć" jest "c" itd. Baza cała jest kodowana w utf8_unicode_ci.


[Kod]
MySqlHelper.ExecuteNonQuery(Db.ConnString, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
MySqlHelper.ExecuteNonQuery(Db.ConnString, "UPDATE tasks SET `name`='ąćęłńóśźż' WHERE `taskId` = '3'");



I zamiast mieć atrybut "name" ustawiony "ąćęłńóśźż", w bazie jest "acelnószz". Jeśli natomiast to zapytanie skopiuję i ręcznie wrzucę do bazy, wszystko jest OK, polskie znaki są, zatem pewnie coś jest źle w momencie wysyłania zapytania przez .NET Connector. Nie pomaga także ten sposób, gdzie konwertuję string z Unicode na UTF-8:


[Kod]
UnicodeEncoding unicode = new UnicodeEncoding();
UTF8Encoding utf8 = new UTF8Encoding();

byte[] unicodeBytes = unicode.GetBytes(query);
byte[] utfBytes = Encoding.Convert(Encoding.Unicode, Encoding.UTF8, unicodeBytes);
string utfQuery = utf8.GetString(utfBytes);

MySqlHelper.ExecuteNonQuery(Db.ConnString, utfQuery);




Wie ktoś jak to naprawić, żeby polskie znaki nie ginęły przy przesyłaniu zapytania?
tagi: mysql   WCF   web


szogun.krepa  2011-07-12 09:01:33 #1
0
avatar
 
 
A może spróbuj użyć parametrów Nazwanych.
Zwróć też uwagę na kodowanie bazy i kolumny do której chcesz zapisać dane. Z tego co kojarzę to polskie znaki się wprowadzą i odczytają z bazy tylko w narzędziu Wiersza Poleceń rekordy będą wyglądać dziwnie po wylistowaniu.--if (PomoglCi)
{
Click("Pomógł mi");
}
Strona szoguna

if (PomoglCi)

{

Click("Pomógł mi");

}

Strona szoguna

Udziel odpowiedzi

avatar
Treść wpisu:

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Idź na górę strony