Resolving Character Encoding Corruption and Font Display Errors in WinCC Faceplates Post-Upgrade

Resolving Character Encoding Corruption and Font Display Errors in WinCC Faceplates Post-Upgrade

The appearance of Chinese symbols or garbled pictograms on motor and valve faceplates following a PCS 7 project migration (e.g., from V7.1 on Windows XP to V8.0/V9.0 on Windows 7 or 10) is caused by a Windows non-Unicode system locale and code page mismatch. In Windows XP, text strings were stored using the ANSI Western European code page (Windows-1252). If the target Windows machine's 'Language for non-Unicode programs' is misconfigured, or if 'Beta: Use Unicode UTF-8' is active, Windows misinterprets extended European characters (such as French accents) as East Asian multi-byte characters. To resolve this: set the Windows system locale to French (matching the original source OS), uncheck Beta UTF-8, and export/re-import project text using the WinCC Text Distributor.

Table of Contents

Executive Summary

During major system migrations in multinational process facilities—such as upgrading a French-language PCS 7 V7.1 SP4 project on Windows XP to PCS 7 V8.0 SP2 or V9.0 on modern 64-bit operating systems—engineers occasionally encounter a bizarre graphical corruption: valve and motor faceplates display strings of Chinese ideograms and unreadable hieroglyphs instead of standard equipment tag names. The issue typically occurs even when no Chinese characters were ever entered into the project. This defect stems from the evolution of character encoding across Windows and WinCC generations, where mismatched regional code pages cause WinCC to parse Western European multi-byte accented characters through East Asian Double-Byte Character Set (DBCS) decoders. Correcting the Windows system locale and rebuilding the WinCC Text Library restores proper typography.

Architecture and Fundamental Mechanics

The character corruption phenomenon is rooted in the architecture of Windows text code pages and the WinCC Text Library:

  1. Legacy ANSI vs. Multi-Byte Encoding (Windows XP):
    - In PCS 7 V7.1 running under Windows XP, text strings were stored in Microsoft SQL Server databases using ANSI single-byte encodings governed by the local system code page (e.g., Windows-1252 for Western European / French).
    - Accented characters common in French (such as é, è, à, ç) are represented by byte values in the upper ASCII range (128 to 255).

  2. Double-Byte Character Set (DBCS) Misinterpretation in Windows 7/10:
    - Starting with PCS 7 V8.0, WinCC expanded multi-language support to seamlessly accommodate Asian character sets (Chinese, Japanese, Korean) using Double-Byte Character Sets (DBCS) such as GB2312 or Big5.
    - If a modern Windows 7 or 10 operating system has its 'Language for non-Unicode programs' set improperly (or if the active code page defaults to Chinese/Asian due to an enterprise OS image configuration), Windows evaluates two consecutive high-ASCII bytes as a single DBCS lead-byte/trail-byte pair.
    - Consequently, standard European equipment names containing accents or specific delimiter characters are rendered as Chinese pictograms.

  3. The Role of the WinCC Text Library and Text Distributor:
    - WinCC maintains all runtime static text strings in the Text Library database, indexed by Language ID (e.g., 1036 for French, 1033 for English).
    - If a project is retrieved or compiled under an inconsistent Windows locale, the Text Library corrupts the string mappings, propagating distorted text into @PG_*.pdl faceplate headers.

Step-by-Step Implementation Procedure

Execute the following configuration sequence to eliminate character corruption and restore faceplate text:

  1. Configure Windows Non-Unicode System Locale:
    - On the Engineering Station and all OS Servers/Clients, open Windows Control Panel.
    - Select Clock and Region -> Region.
    - Open the Administrative tab.
    - Click Change system locale... under 'Language for non-Unicode programs'.
    - Select the exact language of the original source project: French (France).
    - CRITICAL: Ensure the checkbox labeled Beta: Use Unicode UTF-8 for worldwide language support is UNCHECKED. (WinCC V7.x / PCS 7 does not support Windows UTF-8 system locale and will corrupt databases if active).
    - Click OK and restart the computer.

  2. Export and Clean Text Using WinCC Text Distributor:
    - Open WinCC Explorer on the migrated OS project.
    - Select Tools -> Text Distributor.
    - Select Export -> check Text Library and Graphics Designer.
    - Choose French (France) as the target export language and export to a .csv or .txt file.
    - Open the exported CSV file in Microsoft Excel or Notepad++.
    - Verify that equipment names are legible. If Chinese characters appear, execute a search-and-replace to restore original tag names.
    - In Text Distributor, select Import to reload the cleaned text strings back into the WinCC database.

  3. Re-run OS Project Editor:
    - In WinCC Explorer, open OS Project Editor.
    - On the Layout tab, ensure default font styles are set to standard European fonts (Arial, Tahoma, or Segoe UI).
    - Click OK to refresh faceplate typography.

  4. Full OS Compilation:
    - In SIMATIC Manager, perform a full OS compilation (Entire OS -> With memory reset if testing offline).
    - Download the OS project to the target stations.

Verification

Confirm font rendering and text integrity in runtime:

  1. Faceplate Title Inspection: Activate WinCC Runtime. Click several valve, motor, and analog instrument block icons. Confirm that faceplate headers and operator prompt messages display correct French text with proper accents (Vanne d'alimentation, Moteur), with zero Chinese characters.

  2. Alarm List Audit: Open the incoming alarm list (@alarmnew.pdl). Verify that alarm descriptions, message texts, and area names render correctly without typographical distortions.

  3. Text Library Verification: Open WinCC Explorer -> Text Library. Confirm that column French (France) displays valid text across all 10,000+ system entries.

Limitations and Operational Precautions

Never activate the Windows 10 'Beta: Use Unicode UTF-8 for worldwide language support' setting on any PCS 7 station. Doing so breaks the underlying Sybase/SQL Server database encoding and prevents WinCC projects from opening. Additionally, ensure all workstations (ES, OS Servers, OS Clients) share identical regional locale settings to avoid cross-station font distortion.

Engineer FAQ

Why did Chinese characters appear if my project is in French?

Windows non-Unicode system locale was misconfigured. When a system locale uses an East Asian code page, two consecutive high-ASCII bytes representing European accented characters (e.g., é, è) are mistakenly decoded as a single Chinese DBCS character.

Why must the 'Beta: Use Unicode UTF-8' option be disabled?

Siemens PCS 7 and WinCC rely on standard ANSI code page conversions. Enabling the Windows UTF-8 beta flag corrupts WinCC string handling and causes project loading crashes.

Can I fix the text corruption without re-exporting the Text Library?

If the corruption only occurred visually due to the system locale setting, correcting the Windows locale and restarting the PC often restores text display immediately without manual editing.

What tool bulk-exports WinCC project text?

The WinCC Text Distributor (Tools -> Text Distributor) exports all project text (Text Library, Graphics Designer, Alarm Logging) to CSV or Excel files.

Does changing the system locale require restarting the PC?

Yes. Changing the Windows 'Language for non-Unicode programs' requires a full operating system reboot to reload system font tables.

Technical References

Related Articles

Related Tags

  • WinCC
  • Character Encoding
  • Text Library
  • Text Distributor
  • Code Page
  • PCS 7 Upgrade
20 respuestas