Laden...

Griechische Buchstaben in MySQL DB speichern

Erstellt von Doommortar vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.750 Views
D
Doommortar Themenstarter:in
27 Beiträge seit 2008
vor 10 Jahren
Griechische Buchstaben in MySQL DB speichern

Hallo,

ich habe mal wieder ein Problem.

In meinem Programm habe ich ein Textfeld wo der Nutzer ein Namen eintragen kann. In dem Namen können griechische Buchstaben (Alpha, Beta usw.) vorkommen.

Jetzt möchte ich mit Visual Studio 2005 den Namen in eine MySQL DB speichern. In der DB kommen aber nur Fragezeichen an. Die Spalte der DB ist bei Kollation als utf8_unicode_ci festgelegt.

Wie bekomme ich jetzt die Griechische Buchstaben in die MySQL DB?

Vielen Dank für eure Hilfe.

Doommortar

T
2.224 Beiträge seit 2008
vor 10 Jahren

Kurz gegoogelt:
How to support full Unicode in MySQL databases

Hilft dir das?
Ansonsten musst du mal im My SQL Handbuch nachschlagen.
Die Online Referenz soltle dir bei MySQL und UTF8 eigentlich gut helfen können.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

F
10.010 Beiträge seit 2004
vor 10 Jahren

Vorallem, wie schreibst du die Daten und wie kontrollierst du sie?

D
Doommortar Themenstarter:in
27 Beiträge seit 2008
vor 10 Jahren

Ich hoffe das hilft dir weiter. 😉


if (this.frmMain.MYCON.State == ConnectionState.Closed) { this.frmMain.MYCON.Open(); }   // öffnet die MySQL Verbindung
MySqlCommand MyCommand = new MySqlCommand("INSERT INTO `verwaltungssystem`.`test1` (`unicode`) VALUES ('" + this.textBox1.Text + "');", this.frmMain.MYCON);
                       
MyCommand.ExecuteNonQuery();

if (this.frmMain.MYCON.State == ConnectionState.Open)
{
      this.frmMain.MYCON.Close();  // beendet die MySQL Verbindung
      this.frmMain.MYCON.Dispose();
      MyCommand.Connection.Close();
      MyCommand.Connection.Dispose(); 
      MyCommand.Dispose();
}

16.835 Beiträge seit 2008
vor 10 Jahren

[Artikelserie] SQL: Parameter von Befehlen ⚠ ⚠ ⚠
Zudem wäre der Repository Pattern angebracht.

2.298 Beiträge seit 2010
vor 10 Jahren

Wenns nur das wäre.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

D
Doommortar Themenstarter:in
27 Beiträge seit 2008
vor 10 Jahren

> ](http://www.mycsharp.de/wbb2/thread.php?threadid=66704) :] :] :]){red}

Auch mit dieser Variante werden nur ? in der DB gespeichert.


if (this.frmMain.MYCON.State == ConnectionState.Closed) { this.frmMain.MYCON.Open(); }   // öffnet die MySQL Verbindung 
MySqlCommand MyCommand = new MySqlCommand();
MyCommand.Connection = this.frmMain.MYCON;            
MyCommand.CommandText = "INSERT INTO `verwaltungssystem`.`test1` (`unicode`) VALUES (?MyText);";
MyCommand.Prepare();
MyCommand.Parameters.Add("?MyText", this.textBox1.Text);

MyCommand.ExecuteNonQuery();

if (this.frmMain.MYCON.State == ConnectionState.Open)
{
      this.frmMain.MYCON.Close();  // beendet die MySQL Verbindung
      this.frmMain.MYCON.Dispose();
      MyCommand.Connection.Close();
      MyCommand.Connection.Dispose();
      MyCommand.Dispose();
}

16.835 Beiträge seit 2008
vor 10 Jahren

Wenn man 3 Sekunden in Google investiert und nach mysql greek letter sucht erhält man einen Hinweis auf ein falsches oder unpassendes Encoding.
Genau das, was T-Virus Dir im zweiten Beitrag genannt hat.
Hinzu kommen zahlreiche Hinweise auf das CharSet UTF-8 bei Queries oder Connection-Öffnung.

Beachte (endlich) [Hinweis] Wie poste ich richtig? insbesondere 1.1.

4.221 Beiträge seit 2005
vor 10 Jahren

Offtopic:

Hier nicht relevant... aber doch ein Tipp für die Zukunft:

Du kannst Dir Probleme ersparen, wenn Du Objekte immer in der Abhängigkeits-Reihenfolge Closed / Disposed.

Ein Command braucht Connection... also immer von aussen nach innen abbauen (Command / Connection).

Dispose ist immer umgekehrt zum Aufbau...

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...