Рейтинг:
2
Afzaal Ahmad Zeeshan
Урду имеет различную кодировку и декодирование строковых данных, и поэтому при их сохранении данные должны быть сохранены в форме, которая после извлечения должна быть той же кодировкой урду, чтобы вы могли получить ее.
Единственное, что вы должны сделать, это если база данных не позволяет никаких настроек, и вы все еще получаете эту ошибку, а затем попробуйте сохранить байты данных.
Но помните, что кодировка Unicode-это единственная кодировка, которая позволяет использовать мирские языки, другие наборы символов позволяют использовать только английский. Вот почему вся ваша кодировка набора символов должна быть изменена на Unicode. Это та же самая кодировка, которая установлена для HTML-документа и т. д. Это говорит среде (программному приложению), что предоставленный документ является/и должен быть отформатирован в соответствии со стандартами Unicode.
Sergey Alexandrovich Kryukov
Нет такой вещи, как "кодировка UTF". Существует несколько UTFs. Ну, возможно, это просто неточная формулировка.
Но утверждение о не-UTF (точнее, кодировках, не основанных на Unicode) — только английском языке — абсолютно неверно.
—СА
Afzaal Ahmad Zeeshan
Итак, как вы объясните эту функцию в .Net Framework?
byte[] bytes = новое кодирование utf8(true).GetBytes("любовь ко всем, ненависть ни к кому!");
.- позволь мне сказать. Это означает, что байты, которые нужно получить из строки, записываются в кодировке UTF-8. Надеюсь, я упустил какой-то момент в объяснении этой функции.
Afzaal Ahmad Zeeshan
Однако согласитесь, что ошибаетесь. :-) Я не имел в виду UTF сам по себе, это был unicode..глупый я!
Sergey Alexandrovich Kryukov
Как я и предполагал, это было просто неловкое предупреждение, но лучше работать так, чтобы не смущать некоторых менее опытных читателей.
Более серьезная проблема заключается в других кодировках, отличных от Unicode. Принципы различны, но существует много кодировок, не относящихся к Юникоду, поддерживающих неанглийские символы. В большинстве случаев они поддерживают латиницу + какой-то другой шрифт.
—СА
Asim Shahid
пожалуйста, объясните мне, как я могу сообщить своему программному приложению, что предоставленный документ должен быть отформатирован в соответствии со стандартами utf ??
Afzaal Ahmad Zeeshan
Взгляните на комментарий выше. Это имеет функциональность для преобразования строки в массив байтов, а затем вы можете сохранить ее.
Sergey Alexandrovich Kryukov
Обычно вам не нужно ничего особенного. Если вы сохраните все свои текстовые артефакты как UTF-8 и прочтете в этой кодировке, она будет охватывать все сценарии, поддерживаемые Unicode, а .NET уже полностью поддерживает Unicode. Единственной оставшейся проблемой была бы поддержка MySQL; я ответил в решении 3.
И вы должны понимать принципы Unicode.
—СА
Asim Shahid
string query = "INSERT INTO book VALUES('";
запрос = запрос + текстовое поле textbox1.Текст+ "','";
query = query +textBox2.Text+ "','";
запрос = запрос +textbox3 и.Текст + "','";
запрос = запрос +textBox4.Текст + "')";
cmd = new MySqlCommand(query, con);
MySqlDataReader d = cmd.Метода executereader();
Ящик для сообщений.Показать("завершить");
д. Рядом();
я использую этот запрос, я знаю, что у него есть шанс атаки sql-инъекции, но любезно скажите мне, как я могу вставить свой текст на урду с этим запросом, как когда я пишу по-английски, он правильно вставлен, но когда мое текстовое поле имеет текст на урду, он вставлен ????? у колонны. кинлди направь меня. мой тип столбца-varchar(45) , а параметры сортировки-utf8 genral ci
Afzaal Ahmad Zeeshan
Это явный признак того, что формат не поддерживается. Вы уверены, что используете Unicode?
Asim Shahid
я не уверен.. как я могу быть в этом уверен?
Рейтинг:
1
[no name]
использование типа nVarchar позволяет добавлять текстовое письмо на арабском, английском и урду языках.
Sergey Alexandrovich Kryukov
Правильно, но там этот тип доступен.
В MySQL, однако, это может быть
VARCHAR(n) CHARSET utf8
.
—СА
[no name]
использовать это
VARCHAR(n) кодировка ucs2
Sergey Alexandrovich Kryukov
Почему не utf8?
—СА