Note that there are some explanatory texts on larger screens.

plurals
  1. POJavafx character encoding mismatch
    primarykey
    data
    text
    <p>I am using netbeans 7.3.1 on mac osx 10.6.8</p> <p>PROBLEM: when I drop the following files:</p> <pre><code>照片.jpg picture.jpg blank space.txt </code></pre> <p>I get</p> <pre><code>not found %E7%85%A7%89%87.jpg dropped picture.jpg not found blank%20space.txt </code></pre> <p>while I expected</p> <pre><code>dropped 照片.jpg dropped picture.jpg dropped blank space.txt </code></pre> <p>QUESTION: how do I ask JavaFX to use the same character encoding as my OS?</p> <p>ALTERNATIVE QUESTION: how do I ask JavaFX and Mac OS X to use UTF-8 as default character encoding?</p> <p>ANSWER: see answer given by Petr, it doesn't answer the question but it points to the real problem.</p> <p>CODE:</p> <pre><code>import java.io.File; import javafx.application.Application; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.input.DragEvent; import javafx.scene.input.Dragboard; import javafx.scene.input.TransferMode; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class SimpleDropFile extends Application { private VBox root = new VBox(10); @Override public void start(Stage primaryStage) { Scene scene = new Scene(root, 300, 250); scene.setOnDragOver(onDragOver); scene.setOnDragDropped(onDragDropped); primaryStage.setTitle("Hello World!"); primaryStage.setScene(scene); primaryStage.show(); } EventHandler onDragOver = new EventHandler&lt;DragEvent&gt;() { @Override public void handle(DragEvent event) { Dragboard db = event.getDragboard(); if (db.hasFiles()) { event.acceptTransferModes(TransferMode.COPY); } else { event.consume(); } } }; EventHandler onDragDropped = new EventHandler&lt;DragEvent&gt;() { @Override public void handle(DragEvent event) { Dragboard db = event.getDragboard(); boolean success = false; if (db.hasFiles()) { success = true; for (File file:db.getFiles()) { if(file.exists()){ root.getChildren().add(new Label("dropped " + file.getName())); } else { root.getChildren().add(new Label("not found " + file.getName())); } } } event.setDropCompleted(success); event.consume(); } }; public static void main(String[] args) { launch(args); } } </code></pre> <p>UPDATE: I updated my question to include:</p> <ol> <li>a proper question</li> <li>minimum sample code. now you can copy, paste, compile and test. maybe it works properly on windows</li> <li>the answer</li> </ol>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload