powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запись букв казахского языка в ms sql server
22 сообщений из 22, страница 1 из 1
Запись букв казахского языка в ms sql server
    #39681886
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Записал в таблицу базы данных буквы казахского языка непосредственно из текстового поля, они отображаются неправильно и в базе и при отображении в gride, и мне ещё нужно сбросить данные(буквы) из ms sql server в dbf, чтобы там правильно отображалось.

Драйвер казахского языка устанавливать нельзя, портится другая задача, которая сделана тоже с использованием казахского языка (экспорт данных из dbf в ms sql server). Попробовал сделать как и эта задача, использовать функцию, которая вроде нормально даёт вставлять казахские буквы, не выходит правильно.

Что можно здесь сделать?

Функция здесь используемая

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
private string  RecodeKaz( string value, bool isNeedRecode=true)
        {
            string rss=value;
            if (isNeedRecode)
            {
                Encoding srcEncodingFormat = Encoding.GetEncoding(866);
                Encoding dstEncodingFormat = Encoding.GetEncoding(1251);
                byte[] originalByteString = srcEncodingFormat.GetBytes(value);
                 rss = dstEncodingFormat.GetString(originalByteString);
            }

            rss = rss.Replace('ј', 'ә');
            rss = rss.Replace('ґ', 'ө');
            rss = rss.Replace('і', 'і');
            rss = rss.Replace('ў', 'ұ');
            rss = rss.Replace('є', 'ғ');
            rss = rss.Replace('ќ', 'қ');
            rss = rss.Replace('ѕ', 'ң');
            rss = rss.Replace('ї', 'ү');
            rss = rss.Replace('ј', 'ә');
            rss = rss.Replace('Ј', 'Ә');
            rss = rss.Replace('Ґ', 'Ө');
            rss = rss.Replace('І', 'І');
            rss = rss.Replace('Ў', 'Ұ');
            rss = rss.Replace('Є', 'Ғ');
            rss = rss.Replace('Ќ', 'Қ');
            rss = rss.Replace('Ѕ', 'Ң');
            rss = rss.Replace('Ї', 'Ү');
            rss = rss.Replace('Ј', 'Ә');
            rss = rss.Replace('Ћ', 'Һ');
           return rss;
        }
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39681914
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDL-скрипт таблицы, куда записывались данные, в студию.
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39681921
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица, поле куда записываются казахские буквы: [pol] [nvarchar](50) NULL
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE TABLE [dbo].[Edf42Kor](
	[id] [bigint] IDENTITY(1,1) NOT NULL,
	[lsh] [varchar](7) NULL,
	[kdu] [numeric](4, 0) NULL,
	[n_pol] [numeric](3, 0) NULL,
	[pol] [nvarchar](50) NULL,
	[n_pach] [varchar](5) NULL,
	[v_corr] [varchar](1) NULL,
	[reg_v] [varchar](1) NULL,
	[mes] [numeric](2, 0) NULL,
	[datav] [datetime] NULL,
	[ls1] [varchar](7) NULL,
	[ls2] [varchar](7) NULL,
	[kaz] [numeric](1, 0) NULL,
	[ipadr1] [varchar](50) NULL,
	[sn1] [char](1) NULL,
	[prtek1] [numeric](1, 0) NULL
) ON [PRIMARY]
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39681959
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вот это еще:
Код: sql
1.
2.
3.
4.
5.
use [my_database_name]
go
select collation_name
from sys.databases
where database_id=db_id()
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39681992
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrillic_General_CI_AS возвращает
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682084
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда, при юникодном коллейшене и юникодном поле, всё должно записфваться нормально. У меня записывается:
Код: sql
1.
2.
3.
4.
5.
use stuff
go
select collation_name
from sys.databases
where database_id=db_id()


Код: plaintext
1.
2.
collation_name
-----------------------
Cyrillic_General_CI_AS

Код: sql
1.
2.
3.
4.
5.
6.
use stuff
go
create table dbo.Test (
  txt nvarchar(100)
)
go


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
public partial class Form1 : Form
{
  public Form1()
  {
    InitializeComponent();
    dataGridView1.AutoGenerateColumns = true;
    txtSource.Text = "јґіўєќѕїјЈҐІЎЄЌЅЇЈЋ";
    using (var cnn = new SqlConnection("Data Source=.;Initial Catalog=stuff;Integrated Security=True"))
    {
      cnn.Open();
      using (var cmd = new SqlCommand("insert into dbo.Test values(@txt)", cnn))
      {
        cmd.Parameters.AddWithValue("@txt", txtSource.Text);
        cmd.ExecuteNonQuery();
      }
      using (var cmd = new SqlCommand("select txt from dbo.Test", cnn))
      using (var rd = cmd.ExecuteReader())
      {
        var dt = new DataTable();
        dt.Load(rd);
        dataGridView1.DataSource = dt;
        txtResult.Text = dt.Rows[0][0].ToString();
      }
    }
  }
}


- и в полях ввода, и в гриде, и в SSMS отображается нормально.
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682309
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только я это, также делаю через веб сайт (asp) и там появляются вопросы.
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682310
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через простую программу вроде получается, но мне нужно через веб
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682311
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682313
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через веб вот так выходит:
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682316
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ввожу в веб сайте со своего компьютера(у которого установлен драйвер казахского, для ввода казахских букв). В компьютере, где программа установлена нет возможности вводить буквы на казахском языке, но в базе(MS SQL SERVER) на нём и в других программах казахские буквы нормально отображаются.
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682326
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так это проблемы отображения юникодного содержимого в веб-интерфейсе. а не проблема хранения данных.
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682334
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда:
1) Как решить эту проблему отображения? На моём компьютере, где установлен драйвер казахского языка, всё тоже и правильно отображается и правильно хранится, и я даже в dbf файл после записи казахские буквы правильно отображаются.
Но мне нужно, чтобы это всё работало на другом компьютере, а при установке на него драйвер казахского, как у меня полетит задача вставки данных из dbf(отображение казахского).
2) Как правильно эти данные в dbf перенести, чтобы казахские буквы нормально отображались?(это конечная задача).
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682558
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: html
1.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682879
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так там и так вроде в коде страницы это есть.
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
<!DOCTYPE html>

<html lang="ru">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>
	 - Мое приложение ASP.NET
</title><script src="/KORRFORM/Scripts/modernizr-2.6.2.js"></script>
<link href="/KORRFORM/Content/bootstrap.css" rel="stylesheet"/>
<link href="/KORRFORM/Content/Site.css" rel="stylesheet"/>
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" /></head>
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39682884
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А все равно не работает.
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39683014
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma1975,
В всех браузерах?
в web.config
что в
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<configuration>
  <system.web>
    <globalization
      fileEncoding="utf-8" 
      requestEncoding="utf-8" 
      responseEncoding="utf-8"
      culture="en-US"
      uiCulture="de-DE"
    />
  </system.web>
</configuration>
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39704680
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал вставить в web.config

<configuration>
<system.web>
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="en-US"
uiCulture="de-DE"
/>
</system.web>
</configuration>

не помогло.
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39705454
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma1975,
А зачем культура немчуры? Смени на казахскую.
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39705662
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma1975Попробовал вставить в web.config

<configuration>
<system.web>
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="en-US"
uiCulture="de-DE"
/>
</system.web>
</configuration>

не помогло.

ну, если эти две не помогли, тогда всё
culture="en-US"
uiCulture="de-DE"
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39705952
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и
culture="kk-KZ" uiCulture="kk-KZ"
и
culture="en-US" uiCulture="en-US"
тоже не помогают, не работает.
...
Рейтинг: 0 / 0
Запись букв казахского языка в ms sql server
    #39715518
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Вроде получилось. Нужно ставить тип nvarchar не только в таблицу, но и в процедуру и типы, которые используешь.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запись букв казахского языка в ms sql server
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]