CSV export fails on non-ascii characters

Abierto Apto para principiantes
#314 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
62/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
postgresql, sql
Área
database

Línea de trabajo

Empieza por la acción «Save as CSV» del panel de resultados y sigue cómo escribe los resultados de la consulta en el archivo seleccionado; el informe muestra el fallo en Windows cuando un resultado contiene caracteres cirílicos o kazajos. Reprodúcelo con la consulta SQL proporcionada y verifica que se guarde correctamente y que el CSV contenga todas las filas con el mismo texto que el panel de resultados.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe the bug

CSV export fails when the result set contains at least some non-ASCII characters anywhere in it (I work with russian and kazakh languages so I've experienced this issue with letters from those languages) .

The resulting csv file only contains data before the non-ASCII character.

To Reproduce

Steps to reproduce the behavior:

  1. Execute a query that returns rows containing non-ASCII characters:
    select * from (values
    ('ascii-characters'),
    ('А'), ('а'), ('Ә'), ('ә'), ('Б'), ('б'), ('В'), ('в'), ('Г'), ('г'),
    ('Ғ'), ('ғ'), ('Д'), ('д'), ('Е'), ('е'), ('Ё'), ('ё'), ('Ж'), ('ж'),
    ('З'), ('з'), ('И'), ('и'), ('Й'), ('й'), ('К'), ('к'), ('Қ'), ('қ'),
    ('Л'), ('л'), ('М'), ('м'), ('Н'), ('н'), ('Ң'), ('ң'), ('О'), ('о'),
    ('Ө'), ('ө'), ('П'), ('п'), ('Р'), ('р'), ('С'), ('с'), ('Т'), ('т'),
    ('У'), ('у'), ('Ұ'), ('ұ'), ('Ү'), ('ү'), ('Ф'), ('ф'), ('Х'), ('х'),
    ('Һ'), ('һ'), ('Ц'), ('ц'), ('Ч'), ('ч'), ('Ш'), ('ш'), ('Щ'), ('щ'),
    ('Ъ'), ('ъ'), ('Ы'), ('ы'), ('І'), ('і'), ('Ь'), ('ь'), ('Э'), ('э'),
    ('Ю'), ('ю'), ('Я'), ('я')
    ) as kz_alphabet(letter);
    
  2. In the results pane, click "Save as CSV" button and proceed saving the file
  3. See error (popup and in the output pane for the extension):

    Failed to save results. Failed to save vscode-export-test.csv: 'charmap' codec can't encode character '\u0410' in position 0: character maps to <undefined>

  4. Examine the file - it only contains data before non-ASCII characters appear in the query results:

    letter
    ascii-characters

Expected behavior

No error, popup indicating success shown, file contains all data rows, rows content is the same as in the query results pane

VS Code version

Version: 1.142.0 (system setup)
Commit: 6d62b1d5dace93a33b3a6d3eca1317bd5e15bcb1
Date: 2026-10-15T03:02:17Z
Electron: 43.7.7
ElectronBuildId: 15553055
Chromium: 150.0.7871.250
Node.js: 24.21.0
V8: 15.0.245.31-electron.0
@github/copilot: 1.0.95-0.unstable.r38345923974.g3754b70
@github/copilot-sdk: 1.0.19.38345923974.g3754b70
OS: Windows_NT x64 10.0.26200

Extension Logs

[1:21:27 PM] Started saving results to c:\path\to\query\results\vscode-export-test.csv
[1:21:27 PM] Failed to save results. Failed to save vscode-export-test.csv: 'charmap' codec can't encode character '\u0410' in position 0: character maps to

Lenguaje dominante
Sin datos de lenguaje
Estrellas
406
Forks
35
Merge medio
2 h 47 min
PR fusionados (30 d)
5

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/vscode-pgsql

Todos los issues de microsoft/vscode-pgsql

Issues similares

Más issues de Databases

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.