CSV Export Character Encoding: Choosing the Right glide.export.csv.charset Value and Opening Exports Correctly in ExcelIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } The system property glide.export.csv.charset controls the character encoding used when the platform generates CSV exports. It is a single, platform-wide setting that applies to every CSV export path at once: list view exports, report exports, export sets, scheduled export runs, table-level REST exports, and CSV attachments from automated jobs. Choosing an encoding that does not cover the data causes silent character loss at export time. Opening a correctly encoded export by double-clicking it in Microsoft Excel causes garbled characters because Excel does not auto-detect the encoding. Both problems are commonly reported together and are addressed in this article. Symptoms<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } You have modified the system property glide.export.csv.charset, or you are opening a CSV export in Excel and encountering one or more of the following: Garbled accented characters on double-click. Names like Björn, José, François, or Amélie appear as Bj√∂rn, Jos√©, Fran√ßois, or Am√©lie (Mac) or as Bj÷rn, JosÚ, or similar substitution characters (Windows).Garbled Euro sign on double-click. The Euro symbol (€) renders as ‚ǯ, ,Ç, or other unreadable characters instead of the correct symbol.Chinese, Japanese, Korean, or other multi-byte characters replaced with question marks or boxes. Characters such as 深圳 or 云算 appear as ???, empty boxes, or are missing entirely from the export.All data in a single column. The entire row of data appears in column A with no splitting, typically when a UTF-16 file is double-clicked on Windows.A wall of Chinese or CJK characters in the import wizard. The preview or loaded data shows characters like 剥煵楳楴楯測 instead of the expected text. This happens when a UTF-8 file is opened with the UTF-16 (Unicode Big-Endian) File Origin selected, causing the UTF-8 bytes to be paired and misread as UTF-16 code points.Euro displays correctly but Chinese is lost. The property was set to Windows-1252, which represents the Euro sign but cannot represent any multi-byte characters.Chinese displays correctly but the Euro sign is garbled. The property is set to UTF-16 and the file was double-clicked instead of opened through the import wizard. Facts<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } The platform stores all text as full UTF-8 (utf8mb4-class) in the database. This is consistent across all instances. The database can hold the entire Unicode range, including accented characters, the Euro sign, CJK characters, and 4-byte supplementary characters such as emoji. Character loss in a CSV export is introduced by the export encoding, not by the stored data. glide.export.csv.charset controls only the final serialization step, where in-memory text is written out as bytes. It does not change how data is stored, how GlideRecord handles values, or how non-CSV exports behave. The out-of-box default is Windows-1252. Windows-1252 is a single-byte encoding covering ASCII and Western European characters (256 code points). It CANNOT represent Chinese, Japanese, Korean, Arabic, Hebrew, most Cyrillic, emoji, or many symbols. Characters outside its range are silently replaced with a question mark at export time with no warning. UTF-8 is the documented recommendation for instances with translated or multi-language data. UTF-8 represents the full Unicode range, costs one byte per ASCII character (same as Windows-1252 for English), and is the broadest-compatibility interchange format. Most modern tools, integrations, and scripting environments expect UTF-8. UTF-16 represents the full Unicode range but costs two bytes per character minimum, roughly doubling file size for ASCII-dominant content. When the property is set to UTF-16, the platform always writes UTF-16 big-endian with a byte order mark (the file begins with the bytes FE FF). This is fixed platform behavior, the same on every instance. Big-endian is the variant Excel handles least well on double-click, and comma-delimited UTF-16 files tend to collapse into a single column on double-click. The property is platform-wide. One value applies to every CSV consumer at the same time. There is no per-report or per-export-set encoding option out of the box. If two consumers need mutually incompatible encodings, a single property cannot satisfy both. The import property is separate. glide.import.csv.charset governs how the platform reads CSV files in. Changing the export encoding does not change the import encoding. Both must be updated when the encoding is changed. Quick reference: EncodingCoversFile size (ASCII)BOMBest fitWindows-1252ASCII + Western European only1 byte/charnoneWestern-only data, legacy consumersUTF-8Full Unicode1 byte/charoptionalRecommended for any multi-language instanceUTF-16Full Unicode2 bytes/charyes (big-endian FE FF)Only when a named consumer requires UTF-16 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } All supported releases. glide.export.csv.charset is a platform-level system property present in every ServiceNow family release. Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } There are two separate causes that are often reported together. First, the export encoding does not cover the data. Windows-1252 cannot represent multi-byte characters. If the property is set to Windows-1252 and the data includes Chinese, accented names, or currency symbols outside the 256-character set, those characters are silently dropped at export time. This is a platform configuration issue, not a defect. Second, Excel does not auto-detect the file's encoding on a double-click open. When a UTF-16 or UTF-8 file is double-clicked, Excel falls back to a legacy encoding (Windows-1252 on Windows, Mac Roman on Mac), which garbles every non-ASCII character. On Windows, a UTF-16 file also tends to fail delimiter detection, collapsing all data into one column. This is an Excel consumption behavior, not a ServiceNow defect. The combination of these two causes creates apparent contradictions. Setting the property to UTF-16 fixes Chinese in the stored export but garbles the Euro sign when users double-click the file. Reverting to Windows-1252 fixes the Euro on double-click but destroys Chinese in the export itself. The resolution addresses both sides, without taking on customizations and technical debt within that platform. Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Part 1: Choose the Right Export Encoding For any instance that exports multi-language data, UTF-8 is the recommended value. It represents the full Unicode range in one encoding and is the broadest-compatibility format. It handles the Euro sign, accented European names, Chinese, and every other Unicode character in one setting. Keep Windows-1252 only when the data is strictly Western European and a downstream consumer specifically requires that code page. Reserve UTF-16 only when a named downstream consumer cannot accept anything else. Prefer to solve Excel display issues at the import step (Part 2 below) rather than changing the encoding for every consumer. Before changing the property: identify all active scheduled exports, export sets, and CSV data sources on the instance. Confirm the encoding expectations of every downstream consumer. Update glide.import.csv.charset if any imports consume files the platform produced. Make the change through the normal change management process. The new value takes effect immediately for all subsequent exports. Part 2: Open the Export Correctly in Excel Do not double-click the file. Open it through the import wizard, where the encoding and delimiter are chosen explicitly. Windows, Current Excel (Microsoft 365, 2016 and Later) Open Excel to a blank workbook.On the Data tab, choose Get Data, then From File, then From Text/CSV. In some builds the From Text/CSV button appears directly on the Data tab.Navigate to the CSV file, select it, and click Import.In the preview window, set two things: File Origin: choose the encoding that matches the export (see the File Origin Reference below).Delimiter: choose Comma. If the first row shows generic headers like Column1, Column2 instead of the real column names, enable the option to use the first row as headers.Confirm the preview shows correct columns and that all special characters render properly.Click Load to place the data into a sheet. Windows, Older Excel (2013 and 2010) On the Data tab, in Get External Data, choose From Text.Select the file and click Import.Text Import Wizard Step 1: select Delimited and set File Origin to the matching encoding.Step 2: check Comma as the delimiter.Step 3: adjust column formats if needed, then Finish.Choose where to place the data and click OK. Mac Excel (Microsoft 365) Open Excel to a blank workbook.On the Data tab, choose Get Data (Power Query), then From Text/CSV. If your build does not show Get Data, look for From Text/CSV directly on the Data tab.Select the CSV file and click Get Data or Import.In the preview window, set two things: File Origin: choose the encoding that matches the export (see the File Origin Reference below).Delimiter: choose Comma. If the first row shows generic headers (Column1, Column2), enable the first-row-as-headers toggle in the preview, or after loading, promote headers in the query editor (Home, then Use First Row As Headers).Confirm the preview looks correct, then click Load. Note: some older Mac Excel builds route through Data, then From Text, which opens a text import wizard similar to the older Windows path. The same principle applies: match the File Origin to the file and choose Comma. File Origin Reference The File Origin must match the encoding of the file. The encoding is determined by glide.export.csv.charset on the instance that produced the export. For a UTF-16 export: choose 1201: Unicode (Big-Endian). For a UTF-8 export: choose 65001: Unicode (UTF-8). If unsure of the encoding, check with the ServiceNow administrator, or try 65001 (UTF-8) first and 1201 (Big-Endian) second. What This Looks Like The following screenshot show what a CSV export looks like when double-clicked versus when opened correctly through the import wizard, for both UTF-16 and UTF-8 encodings. Top Right Image: Double-click open for UTF-16, showing garbled accented names, corrupted Euro signs, and unreadable Chinese vendor names Top Left Image: Data Loader result for UTF-16 (File Origin: 1201 Unicode Big-Endian, Delimiter: Comma), showing clean columns, correct Euro signs, correct accented names, and readable Chinese Bottom Right Image: Double-click open for UTF-8, showing accented names as mojibake and Euro signs garbled Bottom Left Image: Data Loader result for UTF-8 (File Origin: 65001 Unicode UTF-8, Delimiter: Comma), showing clean columns and correct characters Part 3: Make It Easier Next Time (Reusable Query) When you import through Get Data or From Text/CSV in current Excel, the import is saved as a Power Query connection with the encoding and delimiter preserved. You do not repeat the wizard for future exports. Complete the import once using Part 2, then save the workbook.Each time you receive a new export of the same report, save it at the SAME file name and location, overwriting the previous file.In the saved workbook, click Data, then Refresh All. Excel re-reads the file with the saved settings and updates the sheet automatically. If the file name or path changes, open the query (Data, then Queries and Connections), edit the source step, and point it at the new file. The encoding and delimiter are retained. For a shared team workflow, save the workbook as a template so every team member refreshes from the same query. Troubleshooting EVERYTHING IN ONE COLUMN: the file was double-clicked, or the delimiter was not set to Comma. Re-open through the wizard and select Comma.GARBLED ACCENTED CHARACTERS OR EURO SIGN: the wrong File Origin was selected. For a UTF-16 export choose 1201 Unicode (Big-Endian). For a UTF-8 export choose 65001 Unicode (UTF-8).CHINESE OR MULTI-BYTE CHARACTERS ARE QUESTION MARKS: either the wrong File Origin was chosen, or the export was generated with Windows-1252, which cannot represent those characters. Confirm the export encoding with the administrator.A WALL OF CHINESE CHARACTERS IN THE PREVIEW: a UTF-8 file was opened with a UTF-16 File Origin. The UTF-8 bytes are being paired and read as UTF-16 code points. Switch File Origin to 65001 Unicode (UTF-8).FIRST ROW SHOWS COLUMN1, COLUMN2: the first-row-as-headers option was not enabled. Toggle it in the preview, or in the query editor click Use First Row As Headers.EXPORT BLOCKED FOR EXCESSIVE SIZE: expected platform behavior above a size threshold for Excel format. Export as CSV for a complete extract, then open with the wizard. Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } ServiceNow product documentation for system property glide.export.csv.charset https://www.servicenow.com/docs/r/zurich/platform-administration/table-administration-and-data-management/c_ExportLimits.html