LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Enhanced Unicode in LabVIEW 2026Q3 - Question about Captions

Solved!
Go to solution

I’ve just taken a quick look at the recently released LabVIEW 2026 Q3 with "enhanced Unicode support". I can now enter UTF‑8 text into string controls (is it possible to set UTF‑8 as the default, so no need to switch it manually each time?). However, captions still show question marks instead of Unicode characters:

Screenshot 2026-07-29 22.31.51.png

Am I missing something?

Message 1 of 9
(1,065 Views)

@Andrey_Dmitriev wrote:

I’ve just taken a quick look at the recently released LabVIEW 2026 Q3 with "enhanced Unicode support". I can now enter UTF‑8 text into string controls (is it possible to set UTF‑8 as the default, so no need to switch it manually each time?). However, captions still show question marks instead of Unicode characters:

Screenshot 2026-07-29 22.31.51.png

Am I missing something?


Yes I'm afraid you do, although it's kind of not obvious. 😁

 

There is a section in the release notes that states:

 

LabVIEW does not support UTF-8 encoding for strings in the following areas and functions:
  • Paths
  • Menus
  • Control and indicator labels
  • Enumerations
  • Error clusters
  • I/O refnums
  • Some VI Server methods and properties
  • Call Library Function Node
  • .NET functions
  • ActiveX functions
  • NI and third-party driver and toolkit functions

While I can understand that Labels do not support it, I'm afraid they overlooked the Caption being a simple string that should indeed be able to support it. If you look at the VI Server properties for the text itself, the caption and the label, they all support the "Is UTF-8?" property, but only for reading. Looks to me like it's still a bit a hot wired feature. They managed to add a menu option to change the text control itself, but forgot or had no time to do it to the caption. And the VI Server property is read only for all of them, despite that it can be changed interactively for the text control. It's all still a bit inconsistent. Also Paths should of course support it too, but since paths are an entirely seperate datatype it seems they didn't get to add it to more than the string control yet.

 

And I hate the fact that they did not add an option to the Call Library Node string parameters for this. At least a string parameter should simply accept a UTF-8 string control without broken wire. Bonus points if it would be an extra selection where one can select between System, UTF-8, and UTF16 and LabVIEW does whatever conversion from the diagram type is needed.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 2 of 9
(992 Views)

@rolfk wrote:

 

There is a section in the release notes that states:

 

LabVIEW does not support UTF-8 encoding for strings in the following areas and functions:
  • Paths
  • Menus
  • Control and indicator labels ...

 


Yes, but captions are not listed as exception. Such "UTFication" is almost useless.

Well, I can understand labels, but even in Rust source code, I can name variables in such a manner. It will generate only a warning, but the code will still compiled and work.

 

Screenshot 2026-07-30 13.01.33.png

 

However, captions are a must have. If I had to replace all captions with borderless UTF-8 strings, I would be going straight to hell when maintaining such code.

It should be possible everywhere that text appears on the screen.

Good attempt, but no.

Message 3 of 9
(969 Views)

Didn't captions used to be the only reliable thing that worked with Unicode?

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 4 of 9
(929 Views)

Hello Andrey,

 

I don't have LabVIEW 2026 Q3 at the moment, but it looks like the captions (and few others "strings") can be migrated to UTF-8 encoding by using a new Tool. If I understood correctly what they said.

 

As stated here

PinguX_0-1785418484495.png

 

 

Can you check it please ? I would also like to know the answer. 🙂

Message 5 of 9
(925 Views)

I am seeing that the control caption properly displays UTF-8 characters.
Untitled.png

Message 6 of 9
(916 Views)

@Darren wrote:

I am seeing that the control caption properly displays UTF-8 characters.
Untitled.png


Thank you, Darren, for the confirmation.

Interestingly, I see the same behavior on both of my PCs (Windows 11 Pro and Windows 11 LTSC). Whether I type the text manually or use copy and paste, I get only this:

 utf.gif

There must be a reason for it. I'll investigate it further...
Message 7 of 9
(904 Views)
Solution
Accepted by topic author Andrey_Dmitriev

LabVIEW 2026 Q3 supports UTF-8 encoding in two areas: control data and control attributes.

 

For data, you can right-click on string controls and select the encoding.

 

For control attributes (including captions), you need the VI to be in UTF-8 encoding: 

Christina_R_0-1785427072755.png

 

You can migrate existing VIs to UTF-8 using the Tools»UTF-8 Migration Tool.

 

You can create new UTF-8 VIs using the File»New dialog [VI»From Template»Unicode (UTF-8)].

 

Note: when you place string controls on UTF-8 VIs, they will default their data representation to UTF-8 encoding.

 

There's also a shipping example in LabVIEW 2026\examples\UTF-8\Multilingual User Interface.

 

I look forward to helping you take advantage of UTF-8 in LabVIEW and collecting your feedback on future enhancements!


Christina Rogers
Principal Product Owner, LabVIEW R&D
Message 8 of 9
(866 Views)

@Christina_R wrote:

 

For control attributes (including captions), you need the VI to be in UTF-8 encoding: 

Christina_R_0-1785427072755.png

 

 


This way works, thank you!

Screenshot 2026-07-30 18.48.28.png

Usually I create new VIs by pressing Ctrl+N and only rarely use templates (or I use my own). I checked the settings, but not the VI’s properties or Tools Menu. As an end user, I expect that I can just create a VI, type something anywhere, and it will appear exactly as typed — meaning a coherent, unified design. But right now it’s not very intuitive: you have individual switches on each control, a “global” VI type, a migration tool, and so on. It feels a bit like C++ hell with char, wchar_t, std::string, etc. A little fragmented. Where we need to pay attention is when external code is called — that’s a different story.

But at least it works, and I’m much happier than before. Thank you again. It’s very unfortunate that the menus are still not in UTF‑8, but hopefully this will be added in future versions — it’s essential.

Message 9 of 9
(851 Views)