Login
MS SQL Server Unicode
NEW 13.07.06 13:52
Привет, у меня такой вопрос
я работаю сMS SQL Server 2000
В одной из таблиц моей базы данных существует колонка Label типа nvarchar (Тип поддерживает Unicode)
Я копирую из Excel Документа китайские знаки: в таблице эти знаки заменяются на ???? .
я работаю сMS SQL Server 2000
В одной из таблиц моей базы данных существует колонка Label типа nvarchar (Тип поддерживает Unicode)
Я копирую из Excel Документа китайские знаки: в таблице эти знаки заменяются на ???? .
стойте там и слушайте сюда, именно отсюда будет проистекать
NEW 13.07.06 14:25
in Antwort krys 13.07.06 13:52
Прошу прощения за неточность:
китайские знаки заменяютя на квадратики :).
Интересно что после того как я этот символ скопировал в сообщение , я получил снова китайский символ: 释
что это может означать?
китайские знаки заменяютя на квадратики :).
Интересно что после того как я этот символ скопировал в сообщение , я получил снова китайский символ: 释
что это может означать?
стойте там и слушайте сюда, именно отсюда будет проистекать
NEW 13.07.06 19:04
in Antwort krys 13.07.06 13:52
а как ты копируешь и почему думаешь, что иероглифы заменяются на квадратики именно в базе? (может это проблема твоего клиента, который не умеет правильно воспроизводить иероглифы?)
NEW 13.07.06 23:03
in Antwort digital_pilot 13.07.06 19:04
потому что я вручную копирую знаки из Excel 'я.
в WordPad'e я просто переключил кодировку на Arial Unicode MS
и вместо квадратика я получил йероглиф.
Можно ли что то подобное сделать В SQL Manager'e?
в WordPad'e я просто переключил кодировку на Arial Unicode MS
и вместо квадратика я получил йероглиф.
Можно ли что то подобное сделать В SQL Manager'e?
стойте там и слушайте сюда, именно отсюда будет проистекать
NEW 14.07.06 00:25
in Antwort krys 13.07.06 23:03
Может просто SQL Manager пользуется фонтом, не имеющим китайских символов.. Я бы порекомендовал написать программулину на C# или С++ (Unicode project) что бы перегнать текст в БД.. :)
*Ъ...
NEW 14.07.06 09:34
in Antwort AlterEgo 14.07.06 00:25
Программа есть. Я Использую MFC RecordSet и ODBC драйвер.
Но как выяснилось. но в данном случае Символы не распознаются (?????). (The MFC framework is Unicode-enabled throughout, except for the database classes. (ODBC is not Unicode-enabled.) )
Может мне кто то подсказать идею как с минимальными изменениями ( я имею ввиду что я и дальше могу использовать МФЦ RecordSet) вытащить знаки из Excel Таблицы и в последствии также из базы данных?
_Unicode, Unicode в Препроцессор-дефиниции прописаны
Но как выяснилось. но в данном случае Символы не распознаются (?????). (The MFC framework is Unicode-enabled throughout, except for the database classes. (ODBC is not Unicode-enabled.) )
Может мне кто то подсказать идею как с минимальными изменениями ( я имею ввиду что я и дальше могу использовать МФЦ RecordSet) вытащить знаки из Excel Таблицы и в последствии также из базы данных?
_Unicode, Unicode в Препроцессор-дефиниции прописаны
стойте там и слушайте сюда, именно отсюда будет проистекать
NEW 14.07.06 11:19
in Antwort krys 14.07.06 09:34
Используй ADO. В понедельник, если не забуду, отсканю пару страниц из книги, но думаю, ты быстрее найдешь это в MSDN.
NEW 14.07.06 11:50
in Antwort Simple 14.07.06 11:19
NEW 14.07.06 13:12
in Antwort Simple 14.07.06 12:11
Ыксперимента ради сделал счас тест 2-мя способами: через провайдера SQLOLEDB и через ODBC-драйвер для SQL Server'а.
тестовый скрипт:В ответ на:
IF OBJECT_ID('pelod') IS NOT NULL DROP TABLE [pelod]
CREATE TABLE [pelod] (
[source] NVARCHAR (100) NOT NULL UNIQUE,
[target] NVARCHAR (100) NOT NULL DEFAULT ''
)
GRANT ALL ON [pelod] TO public
INSERT [pelod] ([source]) VALUES(N'Mittelmäßiger Übersetzer = Посредственный переводчег.')
INSERT [pelod] ([source]) VALUES(N'Blöde Ärsche - Убейте себя апстенку, ослы!')
GO
тестовый VB-скрипт (читает строчки на клиента и потом обратно пишет их в таблицу. Ну, на практике - глупость, это исключительно чтоб строчки туда-сюда погонять через провайдера). В скрипте 2 коннекшн-стринга для опытов.В ответ на:
g_Provider = "SQLOLEDB"
g_Server = "."
g_DB = "pelod_db"
g_Login = "sa"
g_Password = "****"
g_DSN = "pelod_dsn"
Set conn = CreateObject("ADODB.Connection")
ConnStr = "Provider=" & g_Provider & ";Data Source=" & g_Server & ";database=" & g_DB & ";User ID=" & g_Login & ";password=" & g_Password & ";"
'ConnStr = "DSN=" & g_DSN & ";Database=" & g_DB & ";UID=" & g_Login & ";password=" & g_Password & ";"
conn.Open ConnStr
Set rs = conn.Execute("SELECT [source] FROM [pelod]")
Do Until rs.EOF
conn.Execute "UPDATE [pelod] SET [target] = N'copy: " & cstr(rs("source")) & "' WHERE [source] = N'" & cstr(rs("source")) & "'"
rs.MoveNext
Loop
rs.Close: Set rs = Nothing
Conn.Close
Set conn = Nothing
MsgBox "Done."
ну и под конец делаем SELECT * FROM [pelod] и получаем в обоих случаях
source target
---------- ----------
Mittelmäßiger Übersetzer = Посредственный переводчег. copy: Mittelmäßiger Übersetzer = Посредственный переводчег.
Blöde Ärsche - Убейте себя апстенку, ослы! copy: Blöde Ärsche - Убейте себя апстенку, ослы!
NEW 14.07.06 13:15
in Antwort Simple 14.07.06 12:11
Зависит от задачи и от того, как ее написали. В большинстве случаев - не получается просто дать другой драйвер, но приходится еще рыть код.

NEW 14.07.06 13:19
in Antwort digital_pilot 14.07.06 13:12
NEW 14.07.06 13:23
in Antwort Murr 14.07.06 13:19
на клиенте - ффсе ODBC-драйвера и MDAC стандартные с xp pro sp2
NEW 14.07.06 13:43
in Antwort digital_pilot 14.07.06 13:23, Zuletzt geändert 14.07.06 13:43 (toptop)
NEW 14.07.06 13:56
in Antwort digital_pilot 14.07.06 13:12
Шеф говорит что MFC RecordSet должен уникод подерживать. так поддерживает или нет? Если да то в чем может быть причина что символы не распознаются?
стойте там и слушайте сюда, именно отсюда будет проистекать
NEW 14.07.06 14:00
in Antwort krys 14.07.06 13:56
14.07.06 14:20
in Antwort digital_pilot 14.07.06 13:23
У меня этих стандартных MDAC'ов во времена NT4 SP6 было штук 20-ть...
Что интересно - при программировании на CBuilder'e 5.0 SP4 работоспособный код получался только при двух версиях...

Что интересно - при программировании на CBuilder'e 5.0 SP4 работоспособный код получался только при двух версиях...

NEW 14.07.06 14:26
Он у тебя вообще редко работоспособным получается...
in Antwort Murr 14.07.06 14:20
В ответ на:
работоспособный код получался только при двух версиях...
работоспособный код получался только при двух версиях...
Он у тебя вообще редко работоспособным получается...
NEW 14.07.06 14:45
in Antwort Murr 14.07.06 14:20
те времена прошли, сейчас с MDAC'ами проблемы лично у меня очень редки, гораздо реже, чем раньше. Вот, кстати, сегодня только что разобрался с 1 из них - то была 1-я за последние года 2. Вылечилась опять же в полпинка патчиком с сайта MS.