#javascript #utf-8 #d3.js #vaadin7
#javascript #utf-8 #d3.js #vaadin7
Вопрос:
Я пытаюсь использовать Vaadin с d3.js. Если я использую d3.js с помощью некоторого пользовательского JavaScript в рукописном HTML-файле я должен включить d3.js в utf-8 (потому что автор решил, что было бы неплохо использовать всевозможные необычные символы по всему коду для представления таких вещей, как pi):
<script src="d3.js" charset="utf-8"></script>
Достаточно просто. Но если я использую его с этим пользовательским виджетом Vaadin, мне придется использовать нотацию JavaScript Vaadin:
@JavaScript({"myscript.js","d3.js",})
Что, опять же, достаточно просто для myscript.js , но он не интерпретирует d3.js в формате utf-8, и поэтому я в конечном итоге получаю illegal character
ошибки при загрузке страницы со всем этим материалом в моем браузере.
Есть ли способ заставить аннотацию JavaScript Vaadin расшифровать d3.js как это требуется?
Ответ №1:
Вы не можете установить кодировку в аннотации, но я думаю, что UTF-8 должен быть по умолчанию. JavaScript следует кодировке страницы. Убедитесь, что страница вашего приложения имеет что-то вроде:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
В качестве альтернативы это может быть проблемой сервера. Некоторые серверы неправильно обслуживают текстовые файлы (включая JS), используя кодировку, в которой они находятся в файловой системе (или файл вообще не имеет UTF-8). Попробуйте загрузить d3.js Отдельно файл JavaScript и HTTP-заголовки для UTF-8 и убедиться, что содержимое выглядит нормально.