|
|
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите разобраться. Текст XML файла хранится в БД (SQL) в поле nvarchar. В тексте есть формула вида: Mt = √(0.07² + 0.07²)=0.10, в SQL отображается нормально, но при сохранении файла на диск формула приобретает следующий вид: Mt = v(0.07? + 0.07?)=0.10, кодировка xml UTF-8. При чем если взять и вставить формулу вручную уже в готовый файл, то она вставится корректно. Сохранение файла: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 16:06 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
r77Сохранение файла Из этого процесса следует исключить оба Stream. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 16:42 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
r77, 1)В базе данных, текст хранится в UTF-16. 2)Ты его преобразуешь в строку Delphi - AsString. 3)Затем в строку UTF-8. 4)Затем пишешь в TStringStream. 5)Затем пишешь в TMemoryStream. 6)Потом уже в файл. Вопрос, какая версия Delphi? Если не unicode, то ошибка в пункте 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 16:59 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Код: pascal 1. тот же результат, может еще есть какой-то вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 17:21 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
NetObserver, 7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 17:22 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
NetObserver, подскажите как сделать правильно, буду очень признательна, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 17:24 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
спасибо натолкнули на мысль... Код: sql 1. дало результат Mt = v(0.07? + 0.07?)=0.10 получается UTF8 не поддерживает эти символы? как же тогда я могу вставить их просто в текст файла и все нормально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 17:44 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
r77, Вариантов много 1)Читать из поля как из BLOB, стримом и сразу сохранять в файл. 2)Читать из поля через AsVariant, UTF8Encode(QXMLOut1.Fieldbyname('XMLFile').AsVariant) 3)Сконвертить на стороне сервера NVarchar к UTF-8 и тогда AsString не будет ничего ломать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 17:54 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
NetObserverr77, Вариантов много 1)Читать из поля как из BLOB, стримом и сразу сохранять в файл. 2)Читать из поля через AsVariant, UTF8Encode(QXMLOut1.Fieldbyname('XMLFile').AsVariant) 3)Сконвертить на стороне сервера NVarchar к UTF-8 и тогда AsString не будет ничего ломать первые 2 варианта были опробованы до моего поста тут и не дали результатов 1) я выше написала Код: pascal 1. не помогло 2) AsVariant - результат тот же, вообще ничего не изменилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 17:58 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
r77, (QXMLOut1.Fieldbyname('XMLFile') as TBlobField).SaveToFile(pt+'\123.xml'); наколько я помню поле XMLFile на стороне сервера нужно привести к VARBINARY(MAX) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 18:14 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
А TField.AsWideString в Delphi 7 не завезли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 18:59 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
А TField.AsWideString в Delphi 7 не завезли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2018, 19:06 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
NetObserverr77, (QXMLOut1.Fieldbyname('XMLFile') as TBlobField).SaveToFile(pt+'\123.xml'); наколько я помню поле XMLFile на стороне сервера нужно привести к VARBINARY(MAX) конвертация из nvarchar в varbinary(max) получилось на выходе вообще иероглифы типа: Mt = √(0.07蛐 ⬀ ⸀ 㜀퀀)=0.10 но теперь уже не только в формуле ... и в другом тексте местами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 11:10 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
NetObserverr77, (QXMLOut1.Fieldbyname('XMLFile') as TBlobField).SaveToFile(pt+'\123.xml'); наколько я помню поле XMLFile на стороне сервера нужно привести к VARBINARY(MAX) из xml в varbinary(max) - тоже иероглифы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 11:35 |
|
||
|
Сохранение XML в файл
|
|||
|---|---|---|---|
|
#18+
NetObserverr77, (QXMLOut1.Fieldbyname('XMLFile') as TBlobField).SaveToFile(pt+'\123.xml'); наколько я помню поле XMLFile на стороне сервера нужно привести к VARBINARY(MAX) Прошу прощения...все получилось (в трех соснах заблудилась -не в том месте исправляла)! спасибо Вам большое! и всем большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 12:07 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39691973&tid=2040493]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
145ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 484ms |

| 0 / 0 |
