Jump to content
kzelda

MySQL avec SharpDevelop

Recommended Posts

Salam Alikom , Bon , Je suis en train de développer une application utilisant une base de données, mon problème réside dans la saisie en arabe depuis une ihm windows développée par vb.net sous sharpDevelop;

mais pour la même base je n'est pas Ce prob avec php (c.à.d que le prob est dans le vb.net et pas dans la bd) ; Est ce que quelqu'un peut m'aider , Merci.

Edited by ButterflyOfFire
Réglé

Share this post


Link to post
Share on other sites
Salam Alikom , Bon , Je suis en train de développer une application utilisant une base de données, mon problème réside dans la saisie en arabe depuis une ihm windows développée par vb.net sous sharpDevelop;

mais pour la même base je n'est pas Ce prob avec php (c.à.d que le prob est dans le vb.net et pas dans la bd) ; Est ce que quelqu'un peut m'aider , Merci.

 

are you having a problem inserting or retrieving data? you probably need to specify the right encoding in your connection string. Also what connector are you using? is it MySQL connector and what version?

Edited by Darkvader

Share this post


Link to post
Share on other sites

J'utilise le codage cp1256_bin pour la base , et même pour les champs;

et j'ai même spécifier l'encodage de la sortie par : "SET NAMES 'cp1256'"

et le prob reste tjrs ?

Share this post


Link to post
Share on other sites

J'utilise le codage cp1256_bin pour la base , et même pour les champs;

et j'ai même spécifier l'encodage de la sortie par : "SET NAMES 'cp1256'"

et le prob reste tjrs ?

Share this post


Link to post
Share on other sites
are you having a problem inserting or retrieving data? you probably need to specify the right encoding in your connection string. Also what connector are you using? is it MySQL connector and what version?

 

I haven't this prob when i insert a data by phpMyAdmin for example ,i.e that the prob is the encoding used by vb.net, For information i use the mysql-connector-net-5.0.9 connector , So i dont know how to specify the encoding cp1256_bin ?

Edited by kzelda

Share this post


Link to post
Share on other sites
I haven't this prob when i insert a data by phpMyAdmin for example ,i.e that the prob is the encoding used by vb.net, For information i use the mysql-connector-net-5.0.9 connector , So i dont know how to specify the encoding cp1256_bin ?

 

find your connection string in the code modify it to add the Charset like this in C#:

MySqlConnection c = new MySqlConnection("DataSource=localhost;Database=test;UserID=root;Password=;PORT=3306;[color=Red]charset=utf8[/color]")[font=verdana]

 

I highlighed the charset in red.

 

Good luck.

[/font]

Share this post


Link to post
Share on other sites

It work very Well :D Thanks:

 

Public Shared sub OpenConnection()

	Dim connStr As String
	connStr = String.Format("server={0};user id={1}; password={2}; database={3}; pooling=false;charset=utf8", _
		"localhost", "root", "" ,"db_name")

	Try
		If isnothing(conn) Then
			conn = New MySqlConnection(connStr)
		End If

		If conn.State = ConnectionState.Closed Then
			conn.Open()
		End If


	Catch ex As MySqlException
		throw ex
	End Try
	end sub

 

A la création des tables et même la base , il faut spécifier aussi le codage utf8:D

Edited by kzelda

Share this post


Link to post
Share on other sites

It work very Well :D Thanks:

 

Public Shared sub OpenConnection()

	Dim connStr As String
	connStr = String.Format("server={0};user id={1}; password={2}; database={3}; pooling=false;charset=utf8", _
		"localhost", "root", "pass***" ,"MaBase")

	Try
		If isnothing(conn) Then
			conn = New MySqlConnection(connStr)
		End If

		If conn.State = ConnectionState.Closed Then
			conn.Open()
		End If


	Catch ex As MySqlException
		throw ex
	End Try
	end sub

 

A la création des tables et même la base , il faut spécifier aussi le codage utf8:D

Edited by kzelda

Share this post


Link to post
Share on other sites
Guest salimdz
A la création des tables et même la base , il faut spécifier aussi le codage utf8:D

 

bonsoir,

mais si la base et la table ils sent créer avec cp1256 et la table plein d'enregistrement tu ne peut pas faire le changement ver utf8 sans le recréer de nouveau et perdre les enregistrements qui existent

Share this post


Link to post
Share on other sites
Guest salimdz

up up, il y a pas des commentaires sur ce message

 

bonsoir,

mais si la base et la table ils sent créer avec cp1256 et la table plein d'enregistrement tu ne peut pas faire le changement ver utf8 sans le recréer de nouveau et perdre les enregistrements qui existent

Share this post


Link to post
Share on other sites

kzelda should've encoded his DB in UTF-8 instead of CP1256 in the first place. UTF8 is becoming the norm, but he can convert it any time he wants with ICONV.

Share this post


Link to post
Share on other sites
Guest salimdz
kzelda should've encoded his DB in UTF-8 instead of CP1256 in the first place. UTF8 is becoming the norm, but he can convert it any time he wants with ICONV.

 

bonjour, merci pour votre reponse,

je pense ce cette fonction iconv elle est pour le langage php, je cherche une fonction de conversion pour le ms sql

normalement les champs de type nvarchar pour ms sql il acceptent les caractères utf-8

Share this post


Link to post
Share on other sites

Je réponds en retard mais ma3liche, tout à fait en accord avec Darkvader, il fallait créer sa base de donnée en UTF-8.

 

A chaque fois que vous rencontrerai des problèmes avec la caractères bizarres passez le tout en encodage UTF-8 ;)

Share this post


Link to post
Share on other sites
Guest HAVOC

C'est aussi la solution pour les scripts en python sous Linux, une conversion en UTF-8 dès l'entête du code et plus de soucis de caractères accentués ou autre.

Share this post


Link to post
Share on other sites
bonjour, merci pour votre reponse,

je pense ce cette fonction iconv elle est pour le langage php, je cherche une fonction de conversion pour le ms sql

normalement les champs de type nvarchar pour ms sql il acceptent les caractères utf-8

 

 

Could you elaborate on what you are trying to do?

Share this post


Link to post
Share on other sites
Guest salimdz
Could you elaborate on what you are trying to do?

 

traduction

 

Pouvez-vous préciser ce que vous essayez de faire?

 

bonsoir, merci pour votre aide,

j'ai des champs de type nvarchar (avec un contenue en arabe) sur MS SQL Server Express,

la premier chose que je veux faire, vérifié le format d'écriture dans ces champs selle est en UTF-8 ou CP1256

 

et après s'il ya une possibilité de faire la conversion de format ces champs de CP1256 ver UTF-8 (s'il sent en CP1256)

Share this post


Link to post
Share on other sites
traduction

 

 

 

bonsoir, merci pour votre aide,

j'ai des champs de type nvarchar (avec un contenue en arabe) sur MS SQL Server Express,

la premier chose que je veux faire, vérifié le format d'écriture dans ces champs selle est en UTF-8 ou CP1256

 

et après s'il ya une possibilité de faire la conversion de format ces champs de CP1256 ver UTF-8 (s'il sent en CP1256)

 

 

I don't think MS SQL supports UTF-8, it only handles UTF-16 for XML markup, and all NVARCHAR data is stored in UCS-2.

Share this post


Link to post
Share on other sites
Guest salimdz
I don't think MS SQL supports UTF-8, it only handles UTF-16 for XML markup, and all NVARCHAR data is stored in UCS-2.

 

Traduction

 

Je ne pense pas que MS SQL supporte l'UTF-8, il ne s'occupe de l'UTF-16 pour le balisage XML et NVarChar toutes les données sont stockées dans UCS-2.
voila la définition de nvarchar

 

nvarchar [ ( n | max ) ]

Données de type caractères Unicode de longueur variable. n peut être compris entre 1 et 4 000. max indique que la taille de stockage maximale est de 2^31-1 octets. La taille de stockage, en octets, est le double du nombre de caractères entrés plus 2 octets. Les données saisies peuvent avoir une longueur de 0 caractère. Les synonymes SQL-2003 de nvarchar sont national char varying et national character varying.

merci pour votre réponse,

moi je cherche comment utilise l'Unicode pour l'écriture en arabe, par ce que avec delphi 6 que j'utilise il faut que je met cette option pour lire l'écriture en arabe

 

unicode.jpg

Share this post


Link to post
Share on other sites
Traduction

 

voila la définition de nvarchar

 

merci pour votre réponse,

moi je cherche comment utilise l'Unicode pour l'écriture en arabe, par ce que avec delphi 6 que j'utilise il faut que je met cette option pour lire l'écriture en arabe

 

To be able to store Arabic characters you need to set the collation either at db level, table level or column level, which ever you choose, for example at the database level, you right click on you database in SQL Manager, then you click on properties, then click Options on left pane, you will see the collation drop down at your right pane. For Arabic there are three collation choices

 

  • Arabic_BIN (binary order)
  • SQL_Latin1_General_Cp1256_CS_AS (case sensitive, accent sensitive)
  • SQL_Latin1_General_Cp1256_CI_AS (case insensitive, accent insensitive)

 

Make sure the columns you're using for Arabic characters are of type NVARCHAR, NCHAR.

 

Hope this helps.

Share this post


Link to post
Share on other sites
Guest salimdz
To be able to store Arabic characters you need to set the collation either at db level, table level or column level, which ever you choose, for example at the database level, you right click on you database in SQL Manager, then you click on properties, then click Options on left pane, you will see the collation drop down at your right pane. For Arabic there are three collation choices

 

  • Arabic_BIN (binary order)
  • SQL_Latin1_General_Cp1256_CS_AS (case sensitive, accent sensitive)
  • SQL_Latin1_General_Cp1256_CI_AS (case insensitive, accent insensitive)

Make sure the columns you're using for Arabic characters are of type NVARCHAR, NCHAR.

 

Hope this helps.

 

Traduction

 

Pour être en mesure de stocker les caractères arabes, vous avez besoin de mettre à la collecte, soit au niveau db, table de niveau ou de niveau de la colonne, qui jamais vous décidez, par exemple au niveau base de données, vous cliquez avec le bouton droit sur votre base de données dans SQL Manager, puis vous cliquez sur Propriétés, puis cliquez sur Options dans panneau de gauche, vous verrez la collation à votre menu déroulant de droite. Pour l'arabe, il ya trois choix de collation

 

* Arabic_BIN (binaire de l'ordre)

* SQL_Latin1_General_Cp1256_CS_AS (sensible à la casse, l'accent sensibles)

* SQL_Latin1_General_Cp1256_CI_AS (casse, insensibles aux accents)

 

Assurez-vous que les colonnes que vous utilisez pour les caractères arabes sont de type NVarChar, NChar.

 

Hope this helps.

 

merci pour votre réponse, pour les colonne j'utilise le type nvarchar pour les caractères arabes,

pour le Classement de la Bases de données j'ai ca Classement : French_CI_AS

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...