Мой веб-сайт может принимать символы как Unicode, так и не Unicode - PullRequest
0 голосов
/ 12 апреля 2011

Пользователь на моем сайте может добавить комментарий к элементу, который содержит как арабские, так и английские символы. иногда, может быть, просто арабский, другие - просто английский, другие - французский!

Это международный сайт, вы не можете ожидать, что символы будут храниться в моем приложении. Мой сайт не имеет ничего общего с Facebook , но мне нужны текстовые поля моих комментариев, чтобы можно было принимать и отображать любые символы на любом языке!

... Так как вы думаете, я мог бы достичь этого?

Ответы [ 4 ]

1 голос
/ 12 апреля 2011

Все строки в .NET являются строками Unicode (дополнительную информацию см. В документации класса String). Таким образом, получение информации от пользователя на разных языках не должно быть проблемой.

Если вы планируете хранить эту информацию в базе данных, вам необходимо убедиться, что столбцы базы данных имеют тип nchar или nvarchar. Как указывали другие, когда вы запускаете запросы к этим столбцам из SSMS , вам нужно будет префиксировать строки Unicode с N, чтобы убедиться, что они обработаны правильно . При выполнении запросов из кода вы должны использовать параметризованные запросы (или ORM , что, вероятно, будет лучше), и ADO.NET позаботится о правильном построении запросов для вас.

0 голосов
/ 12 апреля 2011

Если вы используете Unicode в качестве кодировки на веб-страницах и в базе данных, вам не нужно беспокоиться о том, откуда пользователи, поскольку все они будут вводить Unicode в ваши текстовые поля.

0 голосов
/ 12 апреля 2011

Во-первых, убедитесь, что для полей вашей базы данных, в которых будут храниться данные, могут использоваться символы Юникода. Измените эти поля на Nvarchar, а не varchar

, и вы должны знать, что NVarchar принимает двойное значение строки ex.максимальный размер строки в sqlserver составляет 8000 символов, что означает, что при создании поля nvarchar и 4000 это означает, что вы взяли все 8000 символов

Второе, используя в соответствии с языком, выбранным пользователем при просмотре, установите свою кодировкув вашем коде или странице, например,

читается из URL, например, http://website.tld/ar/

<meta http-equiv="Content-Language" content="ar" >
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" >

, поэтому в соответствии с изменением языка в URL, вы меняете мета-теги своей страницы, и это всеэто в соответствии с вашим языком

С уважением

0 голосов
/ 12 апреля 2011

Здесь есть два элемента:

  1. отображение символов - это обрабатывается на стороне пользователя, если там чего-то не хватает, результат будет непонятным, однако вы не можете повлиять на это
  2. На что вы можете повлиять, так это на способ сохранения символов в базе данных - конвертируйте все в utf-8 независимо от ввода. Любой популярный браузер умеет рендерить utf-8.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...