LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Executable with special characters not working

Solved!
Go to solution

Hi,

 

I have an issue with an executable that will not work on a few PCs. The executable contains sub-VIs that have special characters in their name (e.g. "µs to ms.vi"). When I start the exe it will try loading the sub-VIs but those with special characters cannot be found (see attached image). It should be noted that in the title bar Labview claims to look for "�s to ms.vi" instead of "µs to ms.vi". If I select the correct file ("µs to ms.vi") Labview will continue loading without warnings or errors, but the VI has a broken start arrow. 

I cannot change the names of the sub-VIs and the program is running on all other PCs without problems (all Windows 7 or Window 10).

 

It's obviously some kind of unicode-character problem, but any suggestions how this can be solved?

 

Thank you,

Thomas

Download All
0 Kudos
Message 1 of 5
(4,038 Views)

The solution is to not name subVI's with special characters.

 

We see this frequently in the forums where Asian programmers put chinese or japanese characters in their VI filenames, and anyone who tries to help them can't load them since only their PC's have the special language packs to understand those characters, not the rest of the world.

 

It is probably a similar situation with special characters and a greek symbol like mu.

0 Kudos
Message 2 of 5
(3,991 Views)

@THBU wrote:

It's obviously some kind of unicode-character problem, but any suggestions how this can be solved?


It's a lack of unicode-character problem.

 

LabVIEW CG doesn't use unicode, it's still MBSC based. That means the resulting unicode character depends on the code page that is used. This code page can be changed in Windows, Settings>Language>Administrative language settings>Language for non-Unicode programs. It might have negative side effects (for instance for other non-Unicode applications).

 

There are some tools that can start an application (LabVIEW or your LabVIEW generated exe) with a different code page as the OS.

 

Not using those characters is a solution.

Switch to LabVIEW NXG is a solution.

Changing the OS code page is a solution.

Changing the application's code page is a solution.

 

I know what I'll pick 😀.

Message 3 of 5
(3,971 Views)
Solution
Accepted by topic author THBU

Solution attached. Make sure beta is not checked. Thanks to  

Message 4 of 5
(3,933 Views)

That one is new to me. Guess quite new in general. Although it says it's in beta, it seems available for normal windows 10 versions (not just insiders program).

 

I wander how that works. The MBSC that LabVIEW uses is still limited in the same way. A Chinese character in a Chinese code page could point to something else on another code page. The code pages have always been translating MBSC to UTF-8, AFAIK. I wander how this option works... I guess I'll have to dig into it a bit. 

 

EDIT:SO:what does beta use unicode utf-8 for worldwide language support actually do

0 Kudos
Message 5 of 5
(3,899 Views)