Как вставить юникод в MS-SQL? - PullRequest
2 голосов
/ 26 июля 2010

Я хочу вставить info.NativeName в поле nvarchar в базе данных. Это не работает, все, что я получаю, это ??????? где кодировка не западная / латинская.

Вывод списочных культур непосредственно на веб-сайте asp.net на page_onload работал нормально, но, похоже, не работает через базу данных.

Public Sub listcultures()
    'Dim x As System.DateTime = DateTime.Now
    'Response.Write(x.ToString("HH':'mm':'ss MMM d', 'yyy 'PST'", New System.Globalization.CultureInfo("zh-CN", False)))
    Dim info As System.Globalization.CultureInfo
    For Each info In System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.AllCultures)
        'Response.Write("Deutsch: " + info.DisplayName + " English: " + info.EnglishName + " Native: " + info.NativeName + " Name: " + info.Name + " Codepage: " + info.TextInfo.ANSICodePage.ToString() + "<br />")

        'InsertData(info.DisplayName, info.EnglishName, info.NativeName, info.Name, info.TextInfo.ANSICodePage.ToString(), info.IsNeutralCulture.ToString())

        If Not info.IsNeutralCulture Then
            'item.SubItems.Add(amount.ToString("C", info.NumberFormat))
            'item.SubItems.Add(dateNow.ToString("d", info.DateTimeFormat))
        End If
    Next

End Sub

Что я делаю не так? Я полагаю, что-то с кодировкой?

Ответы [ 2 ]

3 голосов
/ 26 июля 2010
0 голосов
/ 26 июля 2010

Что именно происходит? В конечном итоге вы просто строите строку и сохраняете ее в nvarchar, поэтому она должна работать нормально, при условии:

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

Мы не можем сказать больше, не увидев InsertData, о котором я предполагаю, говорит с базой данных. Я также не вполне уверен, почему метод "list" будет делать вставки в первую очередь, конечно. Плюс, так как все закомментировано на данный момент, я бы ожидал ничего не произойдет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...