Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Links to files with Russian characters...

Help
SolarFl4re
2012-05-23
2013-04-11
  • SolarFl4re
    SolarFl4re
    2012-05-23

    …aren't working for me, I'm running FreeMind 0.9.0 on Windows 7. I just started using it, and am really liking it so far. But when I make a link to a file (on my hard drive) with Russian characters, it either a) doesn't open (Russian file name with spaces) or b) opens the the folder the file is in (just Russian characters).

    I tested it by creating two new files at the root of my drive, one Russian (Так_ru.txt) and one in English (Tak_en.txt). No spaces in either one. The first only opens the folder; the one in English opens the file like it should.

    Any ideas?

     
  • Hi,

    please try the lastest Beta and re-report.
    HTH, Chris

     
  • SolarFl4re
    SolarFl4re
    2012-07-07

    Alright, I just installed 1.0.0 beta 5 and performed the same test (and a few others). It still does the same thing;  for any Russian filename (and I would expect other languages as well) the folder the file is in opens. If it's in English, everything works fine.
    It's like the last part - the filename - isn't being passed to the program because somewhere along the way it's sent through something that can't handle the characters.

    Here's an example of a file name that doesn't work: Соловьева Н.Н. Весь русский язык в таблицах

    Thanks for the reply,
    David

     
  • SolarFl4re
    SolarFl4re
    2012-07-07

    I used process explorer to see what happens when I click my link to the file, located in A:\www (filename: Так_ru.TXT):

    15:46:00.6986178 rundll32.exe 3124 CreateFile A:\www SUCCESS Desired Access: Read Data/List Directory, Synchronize, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
    15:46:00.6986478 rundll32.exe 3124 QueryDirectory A:\www\.* SUCCESS Filter: .*, 1: .
    15:46:00.6986879 rundll32.exe 3124 QueryDirectory A:\www SUCCESS 0: ..
    15:46:00.6987121 rundll32.exe 3124 QueryDirectory A:\www NO MORE FILES
    15:46:00.6987310 rundll32.exe 3124 CloseFile A:\www SUCCESS

    In contrast, this is what I see for a regular text document:

    15:50:37.6041368 rundll32.exe 5032 QueryOpen A:\www\EnglishDoc.TXT SUCCESS CreationTime: 7/7/2012 15:50:03, LastAccessTime: 7/7/2012 15:50:03, LastWriteTime: 7/7/2012 15:50:03, ChangeTime: 7/7/2012 15:50:09, AllocationSize: 0, EndOfFile: 0, FileAttributes: ANCI

    I don't know if any of this helps, but I thought I'd post it anyway.

     
  • Hi,

    how do you create the links?

    TIA, Chris

     
  • Hi again,

    I've tried with mac and linux. Both are working. I get inside of the mm-file the following link:  LINK="Так_ru.txt"

    Please, have a look at yours and tell us here.

    TIA, Chris

     
  • Hi Chris, I can reproduce the issue on Windows. From what I have found, the issue is Windows-specific.

    I have created a file named "Так_ru.txt".

    The following does not work (this code is used in FreeMind to open the file):

    rundll32 url.dll,FileProtocolHandler file:/C:/Users/Dan%20Polansky/Desktop/Так_ru.txt

    The following does work; it does open the file in Notepad:

    cmd.exe /c start "" "file:/C:/Users/Dan%20Polansky/Desktop/Так_ru.txt"

    I am on Windows Vista.

    I do not dare to recommend any course of action. What I am sure about is that the issue is Windows-specific and needs to be tested on Windows. -Dan

     
  • Hi Dan,

    this is a known java bug (and has something to do with DOS, too), with some workarounds. One is currently implemented (will appear in the next beta).

    Thanks for testing,

    Chris

     
  • Hi Chris, from my investigation, it does not appear to be a result of a Java bug. Rather, it appears to be a result of the code of FreeMind.openDocument method. It is the following lines of the method that are concerned (I admit that the issue may be due to a proposal I have made years ago):

    // command = "rundll32 url.dll,FileProtocolHandler "+
    // Tools.urlGetFile(url);
    // bug fix by Dan:
    command = "cmd /C rundll32 url.dll,FileProtocolHandler "

    From looking at

    http://freemind.git.sourceforge.net/git/gitweb.cgi?p=freemind/freemind;a=blob_plain;f=freemind/freemind/main/FreeMind.java

    it seems you are now calling the Java native method from java.awt.Desktop class for opening URLs whenever FreeMind is running on Java 6 or later. That seems to be a good fix. -Dan