- Qt 6.9
- Qt Core
- CMake Commands in Qt6 Core
- qt_allow_non_utf8_sources
- Qt 6.9.3 Reference Documentation

# qt_allow_non_utf8_sources

Prevents forcing source files to be treated as UTF-8 for Windows.

The command is defined in the `Core` component of the `Qt6` package, which can be loaded like so:

     find_package(Qt6 REQUIRED COMPONENTS Core)

This command was introduced in Qt 6.0.

## Synopsis

     qt_allow_non_utf8_sources(target)

If versionless commands are disabled, use `qt6_allow_non_utf8_sources()` instead. It supports the same set of arguments as this command.

## Description

When building with some compilers for Windows, targets that link to a Qt library will use flags that force the compiler to treat its source files as UTF-8. This is currently implemented for Visual Studio and Intel compilers. You can disable this behavior on a per-target basis by calling `qt_allow_non_utf8_sources()` and passing the target as the argument.

Note: This does not change the runtime behavior of classes like QString (its constructor from `const char *` requires properly encoded UTF-8 input). Use the QT_NO_CAST_FROM_ASCII and `QT_RESTRICTED_CAST_FROM_ASCII` macros to help identify such code.

{cmake-target-property-QT_NO_UTF8_SOURCE}

See also qt_disable_unicode_defines().