![]() |
Модераторы: mihanik |
![]() ![]() ![]() |
|
emptyby |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 7.2.2007 Репутация: нет Всего: нет |
ПРиветствую.
Проблема в следующем: есть excel файл с французскими символами. При сохранении его в CSV (MS-DOS), эти символы заменяются знаком вопроса (?). Как сделать, чтобы они не заменялись? То бишь, как сохранить в Юникоде? ![]() ![]() ![]() ![]() ![]() |
|||
|
||||
AsIs |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 2.4.2005 Где: Санкт-Петербург Репутация: 15 Всего: 17 |
Боюсь, что тут сложно что-то сделать используя только стандартные средства.
В описании формата CSV (которое никак не связано с Excel, т.к. независимо от программ вообще) сказано, что придуман он давным давно и пожжерживает обычную кодировку ASCII (т.е. всего 256 символов). Однако, указывается, что можно применять и другие кодировки, типа UTF-8, UTF-16 , в самом стандарте никаких жестких ограничений по этому поводу нет. НО! Тогда могут возникнуть проблемы в приложениях, которые этот файл будут читать. Как они поймут кодировку - префикса никакого не предусмотрено. Если только вручную указывать, при открытии файла. Об этом тут: http://www.creativyst.com/Doc/Articles/CSV...CSVAndEncodings и тут: http://tools.ietf.org/html/rfc4180 У самого же MS написано, что список конвертеров зависит от того, сколько их установлено. И по умолчанию есть конвертеры только для CSV ASCII (с кодировкой Windows и MS DOS). http://office.microsoft.com/ru-ru/excel/HP052001571049.aspx Может Вам удасться найти уже написанный кем-то конвертер для CSV UNICODE ? ;) Можно конечно пытаться сохранять данные в обычном файле txt формата Unicode, а потом программным образом заменять все пробелы между колонками на запятые, т.е. напильником это доводить до ума... Добавлено @ 11:44 Уже написав ответ, подумал. Если у Вас на рабочем листе есть только английский и французский текст, то может и получится. Сохраняйте в обычном CSV, только предварительно не забудьте региональные установки поменять на французские. |
|||
|
||||
emptyby |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 7.2.2007 Репутация: нет Всего: нет |
Спасибо за ответ.
Когда я пытаюсь сохранить файл в формате TXT с Unicode, Excel выводит алерт "file.txt может содержать возможности, несовместимые с Текст Юникод." Ок, сохраняю. Файл сохранился и символы мои любимые остались. Но, как Вы и сказали, пропали точки с запятыми (разделители). Неужели придётся ещё и и спробелами возиться? ![]() ![]()
Вчеа бегло пробежался, но ничего не нашёл... Сейчас попробую повнимательнее. Просто мне нужно минимизировать действия работника и, соответственно, постараться упростить задачу до: - выбрать файл; - нажать кнопку Импортировать. Буду искать PHP-конвертер... Это сообщение отредактировал(а) emptyby - 13.2.2007, 12:34 |
|||
|
||||
AsIs |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 2.4.2005 Где: Санкт-Петербург Репутация: 15 Всего: 17 |
Ну дык, об этом я и толкую. Ну можно попробовать написать программку, которая пробелы заменяет на запятые. ![]() |
|||
|
||||
emptyby |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 7.2.2007 Репутация: нет Всего: нет |
![]() ![]() Добавлено @ 12:44 Хотя... Хм, тут, если не ошибаюсь, точка с запятой заменены на табуляцию... ![]() |
|||
|
||||
AsIs |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 2.4.2005 Где: Санкт-Петербург Репутация: 15 Всего: 17 |
Это я догадываюсь. А кто сказал, что будет легко? ![]() Хотя может быть все проще... Попробуем подождать еще ответов... |
|||
|
||||
mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 5 Всего: 109 |
Можно ещё попробовать текстовый редактор Golden Pen - http://www.delphist.com/GoldenPen.html
Абсолютно бесплатный. Открыть файл этим редактором, переконвертировать ( F11, по-моему ), сохранить как надо... Хотя... Кажется это из другой оперы... |
|||
|
||||
AsIs |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 2.4.2005 Где: Санкт-Петербург Репутация: 15 Всего: 17 |
Нее. Не получится. Если в таблице Excel текст на трех языках, то при сохранении в кодировке ASCII информация теряется. Никакая конвертация не поможет. Просто потому, что так устроена кодировка. А если сохранить в формате txt Unicode, то нужна не конвертация, а преобразование файла, т.е. замена всех пробелов на запятые и т.п. Это сообщение отредактировал(а) AsIs - 13.2.2007, 15:11 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Работа с MS Office" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Работа с MS Office | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |