Unicode folder name
Moderators: white, Hacker, petermad, Stefan2
Unicode folder name
i cannot change directory to some folders with Unicode name, for example, 李敖 (\u674e\u6556), and some rmvb files also.
dont tell me to switch to Chinese/Japanese locale...
dont tell me to switch to Chinese/Japanese locale...
Namume
AFAIK, TC works with such folders by their DOS name. Don't you have disabled DOS-name creating option? Look the following option in the registry:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
NtfsDisable8dot3NameCreation - it should be absent or have value 0.
Also try please to type dir /X - it outputs the files/folders names with their DOS-names. What does it show for your 李敖 folder?
If you use TC 6.xx, this should not be necessary. I use, for example, Russian locale, I created the folder with the name you specified and opened it in TC - all worked successfully.dont tell me to switch to Chinese/Japanese locale...
AFAIK, TC works with such folders by their DOS name. Don't you have disabled DOS-name creating option? Look the following option in the registry:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
NtfsDisable8dot3NameCreation - it should be absent or have value 0.
Also try please to type dir /X - it outputs the files/folders names with their DOS-names. What does it show for your 李敖 folder?
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 10.52 / Win10 x64
Using TC 10.52 / Win10 x64
Re: Unicode folder name
Create a button with command "cm_SwitchLongNames" and switch to the 8.3 Display mode of TC. Then you'll be able to switch into this folder.Namume wrote:i cannot change directory to some folders with Unicode name, for example, 李敖 (\u674e\u6556), and some rmvb files also.
dont tell me to switch to Chinese/Japanese locale...
sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
- ghisler(Author)
- Site Admin
- Posts: 48097
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Folders with Unicode names do not work in TC if they do not have a valid DOS name. This can happen if you create such a folder and then change locale. Example: You create a Russian subdirectory with Russian locale, and then switch to English locale. The folder is then inaccessible to all ANSI programs, and also to all DOS programs.
Solution: Rename the folder to an English name, and then back to its original name. This will give it a valid DOS name.
Solution: Rename the folder to an English name, and then back to its original name. This will give it a valid DOS name.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 48097
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
The main problem here is that the current path is not unicode, and it is used in many 1000 locations in the program. Converting them all to Unicode would take months to complete, in which I could not add any other functions at all. It would also make TC incompatible with Windows 9x/ME if I didn't implement everything twice (which is currently the case for those function which do support Unicode).
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 48097
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
No, there is no TCHAR in Delphi, sorry. And two different versions would not be a good idea either.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
ghisler(Author)
Unfortunately, I'm not familiar with Delphi, but maybe, it's possible to use something similar there?
Added:
Sorry, I was typing too slow...
In MS Visual C++ there is a very good trick: a type TCHAR that is preprocessed either as usual char or as wchar_t - Unicode (wide) char, depending of whether the preprocessor variable _UNICODE defined or not. Also all necessary WinAPI functions are compiled as (for example) MessageBoxA or MessageBoxW depending on the same _UNICODE variable. This allows to create two-platformed programs without any trouble. It is only needed to compile the program two times: with _UNICODE and without it (if you wish, I can create a small simple example).It would also make TC incompatible with Windows 9x/ME if I didn't implement everything twice
Unfortunately, I'm not familiar with Delphi, but maybe, it's possible to use something similar there?
Added:
Sorry, I was typing too slow...
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 10.52 / Win10 x64
Using TC 10.52 / Win10 x64
2ghisler(Author)
In addition a unicode version would be faster (no/lesser string type conversions) and smaller (no ansi stuff where it's not required).
For a user it could be a problem if a mobile unicode version should be started on a Win9x system...
What a shame! Not even in the latest version?No, there is no TCHAR in Delphi, sorry.
I'm not really sure. I guess you agree that it would be easier for you.And two different versions would not be a good idea either.
In addition a unicode version would be faster (no/lesser string type conversions) and smaller (no ansi stuff where it's not required).
For a user it could be a problem if a mobile unicode version should be started on a Win9x system...