Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.03.2013, 16:53
Аватар для damekkoneko
Новичок на форуме
Отправить личное сообщение для damekkoneko Посмотреть профиль Найти все сообщения от damekkoneko
 
Регистрация: 15.02.2013
Сообщений: 9

Проблема с кодировками при экспорте талицы в Excel
Здравствуйте!
Прошу вашей помощи! Мозг уже кипит, да и рабочий день заканчивается, а покою все нет.

Имееся такая штука:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head> 
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
<body>

 <h2>Заявка на смену пароля:</h2>
 
 <table id="123" width="65%" style="border-collapse: collapse; border: 1px solid #FF0077;">
    <tr><td>
       Для смены пароля обращяться: 
    </td>
    <td>
       Туда и сюда....
    </td>
    </tr>
  </table>

<script>
     var table= document.getElementById("123");
     var html = table.outerHTML;
   window.open('data:application/vnd.ms-excel; UNICODE,' + encodeURIComponent(html));
</script>

</body>
</html>


Сохранение динамической табличики у клиента в *.xls файлик с диалогом. Все прекрасно работает, но проблема с кодировкой - русский текст закорючками.

Актив Х мен я не устраивет никакким местом, мне достаточно этого диалога, что нужно запихать еще при создании окна в
window.open('data:application/vnd.ms-excel; UTF-8,' + encodeURIComponent(html));
,чтоб ы все было нормально?

Спасибо!

Последний раз редактировалось damekkoneko, 12.03.2013 в 16:58.
Ответить с цитированием
  #2 (permalink)  
Старый 12.03.2013, 19:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от damekkoneko
Все прекрасно работает, но проблема с кодировкой - русский текст закорючками.
Видимо Excel не переваривает UTF-8.
В файл все корректно записывается.
И кстати, содержимое не соответствует расшинению файла, о чем Excel и предупреждает. Причем очень грозно, так что и не сразу решишься открыть файл)
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2013, 21:35
Аватар для damekkoneko
Новичок на форуме
Отправить личное сообщение для damekkoneko Посмотреть профиль Найти все сообщения от damekkoneko
 
Регистрация: 15.02.2013
Сообщений: 9

Сообщение от danik.js Посмотреть сообщение
Видимо Excel не переваривает UTF-8.
В файл все корректно записывается.
И кстати, содержимое не соответствует расшинению файла, о чем Excel и предупреждает. Причем очень грозно, так что и не сразу решишься открыть файл)
Странно, если пересохраниьт готовый файлик в блокноте с кодировкой utf8, то все нормально.

А сохраняет эксель не в хлс, в какой-то хмл, но это другой вопрос, меня устроит, что угодно, лишь бы табличка с миниимальными стиялми, как на страничке.

Просто, куда бы еще присунуть упоминание о кодировке в момент открытия новой страницы?
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2013, 06:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от damekkoneko
А сохраняет эксель не в хлс, в какой-то хмл
Родной формат - xlsx/xls, это бинарные форматы.

Сообщение от damekkoneko
Странно, если пересохраниьт готовый файлик в блокноте с кодировкой utf8, то все нормально.
Он и так в utf-8, просто без BOM-метки. Значит нужно ставить ее:
'data:application/vnd.ms-excel,' + '\uFEFF' + encodeURIComponent(html)

Сообщение от damekkoneko
data:application/vnd.ms-excel; UTF-8
Нафига тут UTF-8 втыкнуто ?
Ответить с цитированием
  #5 (permalink)  
Старый 13.03.2013, 06:19
Аватар для damekkoneko
Новичок на форуме
Отправить личное сообщение для damekkoneko Посмотреть профиль Найти все сообщения от damekkoneko
 
Регистрация: 15.02.2013
Сообщений: 9

Сообщение от danik.js Посмотреть сообщение
Родной формат - xlsx/xls, это бинарные форматы.


Он и так в utf-8, просто без BOM-метки. Значит нужно ставить ее:
'data:application/vnd.ms-excel,' + '\uFEFF' + encodeURIComponent(html)


Нафига тут UTF-8 втыкнуто ?
Не, не выкинуто, просто в этой версии не проставлено, я че туда только не ставил и утф и цп1251 и всякую другую нечисть.

А так,
'data:application/vnd.ms-excel,' + '\uFEFF' + encodeURIComponent(html)
, заинтриовало, щас приду на работу попробую


Сообщение от danik.js Посмотреть сообщение
Родной формат - xlsx/xls, это бинарные форматы.
Вот меня и напрягло, когда я открылвы ходящий xls файлик блокнотом, а там тэговая структура по типу rtf или xml.
Ответить с цитированием
  #6 (permalink)  
Старый 13.03.2013, 09:03
Аватар для damekkoneko
Новичок на форуме
Отправить личное сообщение для damekkoneko Посмотреть профиль Найти все сообщения от damekkoneko
 
Регистрация: 15.02.2013
Сообщений: 9

Сообщение от danik.js Посмотреть сообщение
Он и так в utf-8, просто без BOM-метки. Значит нужно ставить ее:
'data:application/vnd.ms-excel,' + '\uFEFF' + encodeURIComponent(html)
C \uFEFF заработало. Кодировку эксель стал расчухивать и кракозябры ушли.

Теперь осталось решить вопрос формирования нормального *.xls/

Спасибо огромное за помощь
Ответить с цитированием
  #7 (permalink)  
Старый 03.02.2015, 14:06
Новичок на форуме
Отправить личное сообщение для Дидар Посмотреть профиль Найти все сообщения от Дидар
 
Регистрация: 03.02.2015
Сообщений: 1

Спасибо помогло!
Спасибо помогло!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема обновления при удалении стиля taland Элементы интерфейса 1 21.10.2009 18:34
Проблема при работе с плагином jQuery Map Hilight REp0rtER jQuery 3 29.07.2009 22:10
Проблема при перезаписи iframe spheresh Общие вопросы Javascript 3 23.06.2009 18:06
проблема со сменой изображений при наведение Jack Элементы интерфейса 0 19.03.2009 22:13
Проблема в document.write при использовании setInterval() GOll Общие вопросы Javascript 21 06.10.2008 17:38