А что такая тишина? Вопрос про перекодировку.

10 views
Skip to first unread message

Julia Fadeeva

unread,
Mar 14, 2012, 4:23:51 AM3/14/12
to webde...@googlegroups.com
Привет всем!

Я внезапно решила взмахнуть шашкой и поделать бэк-энд к одному сервису.
И возник вопрос.
Весь сайт на utf-8. Есть сервисная база на MS SQL. В чем там хранится, я не разбиралась, но взаимодействие с сайтом происходит без проблем, похоже.
Предполагается, что пользователь при необходимости может заливать на сервер csv и txt файлы со своей информацией. Файлы могут содержаться кириллицу, на сервере парсятся и раскладываются в MS SQL.
Вот тут и предвижу некую заморочку с кодировками. Как определить, в какой кодировке файло пришло? csv поди будут слать в виндовой, а txt так и вовсе в чем попало...

С удовольствием выслушаю советы.

С ув., Юлия Фадеева.

Дмитрий А. Степанов

unread,
Mar 14, 2012, 4:47:40 AM3/14/12
to Julia Fadeeva
Здравствуйте, Julia.

Вы писали 14 марта 2012 г., 17:23:51:

Проверять на наличие UTF-8 кодировки (и BOM заголовка), если не в UTF-8 то посылать.





-- 
С уважением,
 Дмитрий                          mailto:ion...@mail.ru

Maxim Penzin

unread,
Mar 14, 2012, 7:17:01 AM3/14/12
to webde...@googlegroups.com

2012/3/14 Дмитрий А. Степанов <ion...@mail.ru>

Здравствуйте, Julia.

Вы писали 14 марта 2012 г., 17:23:51:

Проверять на наличие UTF-8 кодировки (и BOM заголовка), если не в UTF-8 то посылать.

BOM запросто может отсутствовать.

В юзерском csv действительно может быть любая кодировка.
На этот случай при импорте в программулину делают верификацию,
т.е. показывают пользователю результат и просят подтверждения.
Там еще разделители полей могут быть всякими разными.


--
-- mpe...@gmail.com -- www.penzin.ru --

Boris Bliznioukov

unread,
Mar 14, 2012, 8:18:12 AM3/14/12
to webde...@googlegroups.com
о да с разделителями полей в майкрософте класно придумали
гдето это , где то ; а гдето табуляция

--
Близнюков Борис,
Деловая Сеть Иркутск

Sergei

unread,
Mar 14, 2012, 8:33:07 AM3/14/12
to webde...@googlegroups.com
2012/3/14 Julia Fadeeva <hewlet...@gmail.com>:

> Вот тут и предвижу некую заморочку с кодировками. Как определить, в какой
> кодировке файло пришло? csv поди будут слать в виндовой, а txt так и вовсе в
> чем попало...


Ну типо есть либы для определения кодировок файлов. Видел где-то :-)


--
Сергей

Julia Fadeeva

unread,
Mar 14, 2012, 9:24:06 AM3/14/12
to webde...@googlegroups.com
Ну с разделителями-то как-нибудь справлюсь - зарядить сплит по группе разделителей, да и все. Я примерно представляю, что там за данные..

2012/3/14 Boris Bliznioukov <bl...@dsi.ru>

Maxim Penzin

unread,
Mar 14, 2012, 8:33:41 PM3/14/12
to webde...@googlegroups.com
2012/3/14 Julia Fadeeva <hewlet...@gmail.com>:

> Ну с разделителями-то как-нибудь справлюсь - зарядить сплит по группе
> разделителей, да и все. Я примерно представляю, что там за данные..

Тогда частотное распределение тебя спасет.
Или проще - ищешь характерные пары байт для русских букв в utf-8,
если не находишь, то cp-1251.

Julia Fadeeva

unread,
Mar 14, 2012, 8:36:21 PM3/14/12
to webde...@googlegroups.com
ох
попробую поискать готовое решение, конечно, для начала )

2012/3/15 Maxim Penzin <mpe...@gmail.com>

Julia Fadeeva

unread,
Mar 27, 2012, 10:24:25 AM3/27/12
to webde...@googlegroups.com
Кстати, готовое решение найдено - enca. Кодирует из чего хочешь куда скажешь. Исходную кодировку определяет само, но лучше подсказать, что это хотя бы русский язык.

2012/3/15 Maxim Penzin <mpe...@gmail.com>
Reply all
Reply to author
Forward
0 new messages