Моя проблема заключается в использовании C # и базы данных MySQL для сохранения некоторых записей путем отправки параметров.
Хотя я уже установил кодировку как Utf-8 и могу правильно видеть символы Юникода, проблема, возникающая при попытке вставить символы Юникода, заключается в том, что он сохраняет только половину строки.
Действительно странно, что это происходит только со строками Unicode, такими как греческие слова, и только когда я отправляю запрос с параметрами.
Т.е.. если мой запрос, как видно из C #:
string query = "INSERT INTO tablename VALUES (NULL, @somestring)";
и я установил значение параметра @somestring как "ТЕСТИРОВАНИЕ". Это будет работать просто отлично.
Если я пытаюсь установить значение в виде строки Unicode "ΤΕΣΤΙΝΓ", запрос выполняется без ошибок, но сохраняет только половину символов в базе данных, т.е. сохраняет только «ΤΕΣΤ».
С другой стороны, если я удаляю параметры и настраиваю запрос так:
string somestring = "ΤΕΣΤΙΝΓ";
string query = "INSERT INTO tablename VALUES (NULL,'" + somestring + "')";
запрос снова работает просто отлично И сохраняет все слово / предложение в базе данных.
Надеюсь, я объяснил это правильно, и вы можете понять мою ситуацию.
Спасибо