abboudi_ammar Ответов: 2

Хранение арабского текста в базе данных mysql


hi, I have a winform program in which I have a form to fill in Arabic but I can not get in store Arabic data in a database mysql I see symbols ??????


Что я уже пробовал:

namely that the bottom is collating
cp1256_general_ci I find a collation for Arabic.
thank you in advance!

2 Ответов

Рейтинг:
2

Perić Željko

У меня была аналогичная проблема с Microsoft SQL Server Express Edition.
Вместо того чтобы играть с сортировкой я использовал два простых метода :

string encodeString(string word)
{
    string result = string.Empty;

    char [] letters = (word.Normalize()).ToCharArray();

    foreach (char letter in letters)
    {
        result += ((short)letter).ToString("00000");
        result += " ";
    }
    return (result.Trim()).Normalize();
}

string decodeString(string word)
{
    string result = string.Empty;

    string [] letters = word.Split(' ');

    int code = 0;

    foreach (string letter in letters)
    {
        code = short.Parse(letter);
        result += ((char)code).ToString();
    }
    return result.Normalize();
}


Используйте объект типа класса dataGridView
для сбора и представления данных.

Перед записью данных из полей dataGridView в поля таблицы базы данных Sql,
использовать string encodeString(string word) способ кодирования данных в
последовательности кодов ASCII.

Перед представлением данных из полей таблицы базы данных Sql пользователю,
использовать string decodeString(string word) способ декодирования данных
от серии ascii-кодов до обычных строк.

Теперь можно сохранить текст, написанный на арабском или любом другом языке
в базу данных Sql с параметрами сортировки, установленными в Cyrillic_General_CI_AS
или любое другое сопоставление.



Всего наилучшего,
Желько Перич


Рейтинг:
0

Mehdi Gholam

Воспользуйся UTF8 вместо этого прочтите это : Сохранение данных на арабском языке в базе данных MySQL-Stack Overflow[^]