Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

fix(planning): write share.py output as UTF-8 so Windows pipes don't crash on non-cp1252 text

Offen Anfängerfreundlich
#8,239 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
78/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python, shell
Bereich
cli, testing

Rechercherichtung

Beginne mit plugins/planning/shared/share.py und den zugehörigen Subprocess-Tests; das Issue weist auf die Kodierung von stdout und stderr sowie auf die locale-abhängigen Lesevorgänge in den Tests hin. Reproduziere das Problem mit PYTHONIOENCODING=cp1252 und einer Logzeile mit einem Zeichen wie →, und prüfe dann die Ausgabe von logs und logs --summary. Fertig ist die Arbeit, wenn beide Befehle erfolgreich beendet werden und das Zeichen als UTF-8 erhalten bleibt; überprüfe dies auf dem pr-test-windows-Lane.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

priority: medium

Refs: #7670

Summary

On Windows, share.sh output crashes on a character cp1252 cannot encode, such as an emoji in a name or chat-derived log line, or →. It happens when stdout is a pipe (a terminal pipe, the interview skill reading the output, a test).

Cause

plugins/planning/shared/share.py prints its JSON with ensure_ascii=False, and the logs --summary text as-is. When stdout is a pipe on Windows, Python encodes it in the ANSI code page (cp1252), and an unencodable character raises UnicodeEncodeError. share.sh runs Python with -I, which ignores PYTHONUTF8. Reproduced on Linux with PYTHONIOENCODING=cp1252 and a → in a log line.

Fix

Make share.py write UTF-8 on stdout and stderr explicitly (sys.stdout.reconfigure(encoding="utf-8")), and have the tests and the skill read share.py's output as UTF-8 rather than with the locale default. Verify on the pr-test-windows lane.

Verification

A subprocess test that sets PYTHONIOENCODING=cp1252, logs a line with a non-cp1252 character, and gets exit 0 from share.py logs and logs --summary, with the character intact in UTF-8.

Vorherrschende Sprache
Shell
Sterne
22
Forks
2
Ø Merge
7 Std. 57 Min.
Gemergte PRs (30 T.)
938

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus melodic-software/claude-code-plugins

Alle Issues in melodic-software/claude-code-plugins

Ähnliche Issues

Weitere Issues zu Shell/Bash

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.