Chat: UTF-8-Unterstützung für Umlaute und Emoji-Eingabe #63

Open
opened 2026-05-16 22:11:43 +00:00 by jreinemann-euris · 0 comments
jreinemann-euris commented 2026-05-16 22:11:43 +00:00 (Migrated from github.com)

Kontext

Folge-Ticket zu #58 (Chat-System). Der Chat soll deutschsprachige Sonderzeichen (Umlaute, ß etc.) korrekt darstellen und versenden können. Zusätzlich sollen Nutzer Emojis (via Font Awesome oder nativer Unicode-Emoji-Palette) im Chat verwenden können.

Akzeptanzkriterien

1. UTF-8-Kodierung im Chat

  • Alle Chat-Nachrichten werden UTF-8-kodiert gesendet und empfangen
  • Umlaute (ä, ö, ü, Ä, Ö, Ü, ß) werden in der Nachrichtenliste korrekt angezeigt
  • Sonderzeichen werden serverseitig korrekt gespeichert und bei Pull-Sync korrekt übertragen
  • HTTP-Header enthält Content-Type: application/json; charset=utf-8
  • WebSocket-Nachrichten werden als UTF-8-String übertragen (keine Bytearray-Konvertierungsfehler)

2. Emoji-Unterstützung im Chat

  • Nutzer können Emojis über die native Android-Emoji-Tastatur in das Eingabefeld tippen
  • Unicode-Emojis (z.B. 😀 🎉 ❤️) werden korrekt im Chat angezeigt
  • Emojis werden serverseitig korrekt gespeichert und wieder ausgeliefert
  • Font-Awesome-Icons können optional als Text-Shortcuts eingefügt werden (z.B. 👍👍), falls technisch sinnvoll
  • Keine Darstellungsfehler oder Zeichensalat bei Emoji-Kombinationen

3. Generaltest #56 erweitern

  • Generaltest Issue #56 um Testfälle mit Umlauten und Emojis erweitern
  • Testfall: Nachricht mit Umlauten senden und empfangen (ä, ö, ü, ß)
  • Testfall: Nachricht mit Emojis senden und empfangen (😀, ❤️, 👍)
  • Testfall: Gemischte Nachricht (Umlaut + Emoji + ASCII)
  • Nach erfolgreichem Test: Generaltest #56 auf Status Todo zurücksetzen

Technische Hinweise

  • Ktor-Server: charset(Charsets.UTF_8) in ContentNegotiation und Response-Headern prüfen
  • Retrofit/OkHttp: Content-Type Header und Response-Encoding sicherstellen
  • Room/SQLite: SQLite unterstützt UTF-8 nativ – Encoding-Probleme liegen i.d.R. im Transport, nicht in der DB
  • Android EditText / Compose TextField: Emoji-Eingabe ist mit Standard-IME out-of-the-box möglich
  • Font Awesome als Icon-Font in Compose: nur sinnvoll, wenn bereits im Projekt vorhanden
## Kontext Folge-Ticket zu #58 (Chat-System). Der Chat soll deutschsprachige Sonderzeichen (Umlaute, ß etc.) korrekt darstellen und versenden können. Zusätzlich sollen Nutzer Emojis (via Font Awesome oder nativer Unicode-Emoji-Palette) im Chat verwenden können. ## Akzeptanzkriterien ### 1. UTF-8-Kodierung im Chat - [ ] Alle Chat-Nachrichten werden UTF-8-kodiert gesendet und empfangen - [ ] Umlaute (ä, ö, ü, Ä, Ö, Ü, ß) werden in der Nachrichtenliste korrekt angezeigt - [ ] Sonderzeichen werden serverseitig korrekt gespeichert und bei Pull-Sync korrekt übertragen - [ ] HTTP-Header enthält Content-Type: application/json; charset=utf-8 - [ ] WebSocket-Nachrichten werden als UTF-8-String übertragen (keine Bytearray-Konvertierungsfehler) ### 2. Emoji-Unterstützung im Chat - [ ] Nutzer können Emojis über die native Android-Emoji-Tastatur in das Eingabefeld tippen - [ ] Unicode-Emojis (z.B. 😀 🎉 ❤️) werden korrekt im Chat angezeigt - [ ] Emojis werden serverseitig korrekt gespeichert und wieder ausgeliefert - [ ] Font-Awesome-Icons können optional als Text-Shortcuts eingefügt werden (z.B. :thumbsup: → 👍), falls technisch sinnvoll - [ ] Keine Darstellungsfehler oder Zeichensalat bei Emoji-Kombinationen ### 3. Generaltest #56 erweitern - [ ] Generaltest Issue #56 um Testfälle mit Umlauten und Emojis erweitern - [ ] Testfall: Nachricht mit Umlauten senden und empfangen (ä, ö, ü, ß) - [ ] Testfall: Nachricht mit Emojis senden und empfangen (😀, ❤️, 👍) - [ ] Testfall: Gemischte Nachricht (Umlaut + Emoji + ASCII) - [ ] Nach erfolgreichem Test: Generaltest #56 auf Status Todo zurücksetzen ## Technische Hinweise - Ktor-Server: charset(Charsets.UTF_8) in ContentNegotiation und Response-Headern prüfen - Retrofit/OkHttp: Content-Type Header und Response-Encoding sicherstellen - Room/SQLite: SQLite unterstützt UTF-8 nativ – Encoding-Probleme liegen i.d.R. im Transport, nicht in der DB - Android EditText / Compose TextField: Emoji-Eingabe ist mit Standard-IME out-of-the-box möglich - Font Awesome als Icon-Font in Compose: nur sinnvoll, wenn bereits im Projekt vorhanden
Sign in to join this conversation.
No description provided.