powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы с кодировкой
8 сообщений из 8, страница 1 из 1
Проблемы с кодировкой
    #36333312
rboiko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть код по загрузке в БД данных из текстового файла, который в кодировке 866 и вывода в тектовый файл в кодировке 866
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
use first && в таблице одно поле POLE C( 254 ) кодировка  866 
zap
APPEND FROM  ? SDF  as  866 
DO d:\fms\cpzero.prg WITH "d:\fms\first.dbf", 1251 
SCAN 
lcstr= ALLTRIM(pole) + CHR( 13 )
lc866=CPCONVERT( 1251 , 866 ,lcstr)
STRTOFILE(lc866,"new.txt",.t.)
ENDSCAN
Размер загружаемого файла 1 048 150
Размер выгруженного файла 1 017 131

После выгрузки в текстовый файл, все вроде бы хорошо. Файл в нужной кодировке 866, но почему-то размер после выгрузки файл становиться меньшего размера ? Может какие-то символы удаляются после конвертации из кодировки в кодировку? Может как то по другому, более правильно можно загрузить данные из файла в базу и выгрузить из базы в текстовый файл в кодировке 866 ?
Просто в результате не могу обработать выгруженный файл в другом программном продукте, для которого это файл готовился. Исходный файл обрабатывается нормально.

За ранее спасибо за помощь. Мозг кипит )
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #36333386
rboiko,
1. Конец строки - этоне только Chr(13).
2. Какой-то очень уж заморочный способ применен, я даже как-то сразу и не могу подсчитать в нем количество всех явных и неявных перекодировок.
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #36333579
rboiko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.rboiko,
1. Конец строки - этоне только Chr(13).
Как правильно оформить конец сторки ?

2. Какой-то очень уж заморочный способ применен, я даже как-то сразу и не могу подсчитать в нем количество всех явных и неявных перекодировок.
Поэтому и спросил, как правильно загрузить текст в 866 кодировке, и выгрузить в текст в 866 кодировке
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #36333618
rboikoпроходящий.rboiko,
1. Конец строки - этоне только Chr(13).
Как правильно оформить конец сторки ?chr(13)+chr(10)

2. Какой-то очень уж заморочный способ применен, я даже как-то сразу и не могу подсчитать в нем количество всех явных и неявных перекодировок.
Поэтому и спросил, как правильно загрузить текст в 866 кодировке, и выгрузить в текст в 866 кодировкеВ приведенном коде я не вижу какой-то необходимости в перекодировках. Берется файл в уже нужной кодировке, зачем-то впихивается в таблицу, зачем-то в таблице меняется кодовая страница, зачем-то данные построчно запихиваются в файл в той самой кодировке, что уже и так есть. Исходя из необходимости получить такой же размер файла можно сделать вывод, что идет простое копирование всего файла. То есть
Код: plaintext
copy file ? to new.txt
Для чего все эти танцы даже не с одним, а с несколькими бубнами?
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #36333649
rboiko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.rboikoпроходящий.rboiko,
1. Конец строки - этоне только Chr(13).
Как правильно оформить конец сторки ?chr(13)+chr(10)

2. Какой-то очень уж заморочный способ применен, я даже как-то сразу и не могу подсчитать в нем количество всех явных и неявных перекодировок.
Поэтому и спросил, как правильно загрузить текст в 866 кодировке, и выгрузить в текст в 866 кодировкеВ приведенном коде я не вижу какой-то необходимости в перекодировках. Берется файл в уже нужной кодировке, зачем-то впихивается в таблицу, зачем-то в таблице меняется кодовая страница, зачем-то данные построчно запихиваются в файл в той самой кодировке, что уже и так есть. Исходя из необходимости получить такой же размер файла можно сделать вывод, что идет простое копирование всего файла. То есть
Код: plaintext
copy file ? to new.txt
Для чего все эти танцы даже не с одним, а с несколькими бубнами?
Смысл впихивания в таблицу, для промежуточной корректирови, удаления групп строк,перед выгрузкой в тектовый файл.
Просто я на этом вспоткнулся, думал что-то лишнее убираю при редактировании, врезультате чего у меня возникают проблемы. Поэтому, в целях эксперимента сократил код до загрузки текстового файла и последующей выгрузки в текстовый файл.
Сейчас правильно опишу конец строк и попробую . Надеюсь, это поможет.
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #36333667
rboiko,
необходимости в замене кодовой страницы все равно нет. Она и так 1251 изначально.
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #36333773
rboiko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.rboiko,
необходимости в замене кодовой страницы все равно нет. Она и так 1251 изначально.
но если я не поменяю кодовую страницу, то в гриде выводятся иероглифы.
В любом случае, я добился конечной цели. Все-таки нехватало chr(10) в конце строки.
Большое , огромное спасибо !!! )))
...
Рейтинг: 0 / 0
Проблемы с кодировкой
    #36334232
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня была задача:
Из одной програмуси в другую выгружается обменный файл два раза в день. Однако с утра, некоторые строки из этого файла принимать нельзя. Решил примерно так:
Открывается файл, создается новый с тем же именем, только с другим расширением.
Сканируем файл источник и только нужные строки записываем в новый файл.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
lcFile=GETFILE('txt')
loFile=FOPEN(lcFile)
IF loFile> 0 
	loNew=FCREATE(LEFT(lcFile,RAT('.',lcFile))+'new')
	IF loNew> 0 
	lcZnach = FGETS(loFile)
	FPUTS(loNew, lcZnach)
		DO WHILE !FEOF(loFile) 
			lcZnach = FGETS(loFile)
			IF moeUslovie
				FPUTS(loNew, lcZnach)
			ENDIF 
		ENDDO 
	ELSE 
		MESSAGEBOX('íåâîçìîæíî ñîçäàòü ôàéë')	
	ENDIF 	
ELSE 
	MESSAGEBOX('íåâîçìîæíî îòêðûòü ôàéë')
ENDIF 
FCLOSE(loFile)
FCLOSE(loNew)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы с кодировкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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