2015-09-09 4 views
3

Я пытаюсь открыть веб-просмотр в java и показать страницу регистрации имени. (https://accounts.spotify.com/en/login):JavaFX Webview плохое кодирование

JFrame f = new JFrame(); 
    f.setTitle("Spotify"); 
    f.setSize(500,500); 
    f.setVisible(true); 
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    JFXPanel jfxPanel = new JFXPanel(); 
    f.add(jfxPanel); 
    Platform.runLater(() -> { 
     WebView webView = new WebView(); 
     jfxPanel.setScene(new Scene(webView)); 
     WebEngine webEngine = webView.getEngine(); 
     webEngine.load("https://accounts.spotify.com/en/login"); 
    }); 

В результате ниже окна. (Когда я скопировать зашифрованный текст и вставить его в другом приложении, оно показывает мне текст с правом кодирования.
Как я могу отобразить Spotify страницы входа в системе с правильной кодировкой?

http://fs2.directupload.net/images/150909/zyk25eqz.png

ответ

-1

Вы должны проверить что кодирование файлов в вашем проекте выполняется с помощью ответа от сервера spotify, я уже проверил вычисленный вами URL-адрес и Content-Type:text/html; charset=utf-8, поэтому, если ваш файл не является utf8, преобразуйте его, вы можете сделать это с помощью блокнота ++, в меню Кодирование.

+0

Можете ли вы это уточнить? В каких файлах вы говорите, когда говорите «если ваш файл не является utf8» и «файлы в вашем проекте»? –

+0

Файл, который вы используете для вызова WebView, WebEngine и т. Д. ... и всех других файлов вашего проекта (если они связаны с этим каким-то образом) –

+0

Это только исходный код Java. Они скомпилированы в (двоичные) файлы классов, содержащие байт-код. Поэтому у них нет кодировки, они даже не тексты. Я не уверен, что этот ответ имеет смысл. –

2

Я видел this на dropb ox в моем WebView.

Проблема, с которой вы столкнулись, не имеет никакого отношения к кодированию. В JavaFx WebView есть некоторые проблемы с загрузкой локальных шрифтов. Если вы загружаете веб-сайт, который хочет загрузить локальный шрифт, установленный на вашем компьютере, вы увидите это загадочное письмо. Если вы удалите шрифт, вы увидите текст как обычно.

Таким образом, ваша проблема заключается не в кодировании веб-сайта, а в том, что шрифт spotify хочет загружаться, а у вас локальный на вашем ПК.

Вам нужно будет найти способ, чтобы WebView не загружал локальные шрифты. Возможно, введя некоторый код.

Смежные вопросы