» »

C# - MySQL - šumniki

C# - MySQL - šumniki

Matthew ::

V C# razvijam aplikacijo, ki shranjuje podatke v MySQL bazi. Žal imam težave s šumniki. 'čžš' mi zapiše v bazo kot 'czs'.

SHOW VARIABLES LIKE 'character_set%' vrne:

Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/

SHOW VARIABLES LIKE 'collation%' vrne:

Variable_name Value
collation_connection utf8_general_ci
collation_database utf8_slovenian_ci
collation_server latin1_swedish_ci

Baza ima collation utf8_slovenian_ci.
Tabela ima collation utf8_slovenian_ci.
Polje v tabeli, v katerega pišem ima collation utf8_slovenian_ci.

Koda, s katero pišem v bazo je sledeča:

using MySql.Data.MySqlClient;
String MyConString = "SERVER=192.168.x.x;" + "DATABASE=xxxx;" + "UID=xxxx;" + "PASSWORD=xxxx;";
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
connection.Open();
command.CommandText = "SET NAMES utf8";
command.ExecuteNonQuery();
command.CommandText = "SET CHARACTER SET utf8";
command.ExecuteNonQuery();
command.CommandText = "SET COLLATION_CONNECTION=utf8_general_ci";
command.ExecuteNonQuery();
command.CommandText = "INSERT INTO test(id_test, tekst) VALUES ('', 'čžš')";
command.ExecuteNonQuery();
connection.Close();

Zelo bi bil hvalažen, če bi mi kdo pomagal pri problemu, ker meni se je tukaj ustavilo.

darkolord ::

kaj pa če še query probaš dat v UTF8?

Matthew ::

Spremenil sem vrstico z SQL-om v:

command.CommandText = "INSERT INTO test(id_test, tekst) VALUES ('', CONVERT('čžš' USING utf8))";

Še vedno isto.

BlueRunner ::

Matthew ::

Tip polja v tabeli sem spremenil v Text.
INSERT stavek sem spremenil v "INSERT INTO test(id_test, tekst) VALUES('', N'čžš')".

Še vedno dobim czs :/

Matthew ::

Končno sem našel rešitev. Connection String-u sem dodal še "charset=utf8;".

String MyConString = "SERVER=192.168.x.x;" + "DATABASE=xxxx;" + "UID=xxxx;" + "PASSWORD=xxxx;" + "charset=utf8;";


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[php] encoding niza

Oddelek: Izdelava spletišč
173822 (1737) BivšiUser2
»

[c#] in sql baza

Oddelek: Programiranje
161385 (884) japol
»

SQL problem

Oddelek: Programiranje
141701 (1319) win64
»

Šumniki in MySql

Oddelek: Izdelava spletišč
196687 (6224) SPEEEED
»

MySQL in czs

Oddelek: Izdelava spletišč
423611 (2701) krho

Več podobnih tem