---
name: Polskie znaki w mysql LIKE przez shell
description: LIKE z polskimi znakami (szczególnie ł) w zapytaniach mysql uruchamianych z git-bash nie zawsze dopasowuje — użyj hex-encoded pattern w CONCAT
type: feedback
originSessionId: 6b490a59-53d2-4351-8049-2be9d065ec83
---
Przy filtrowaniu klientów w `/wygeneruj-projekty` — jeśli imię/nazwisko zawiera polskie znaki (szczególnie `ł`, ale też `ę`/`ń` w niektórych kombinacjach), LIKE w postaci `WHERE oa.name LIKE '%Małgorzata%'` przekazane przez `mysql.exe -e "..."` z git-bash może zwracać **zero wyników**, mimo że rekord istnieje w bazie.

**Why:** shell/terminal/console transkoduje polskie znaki niespójnie między git-bash a mysql.exe (ConvertTo z UTF-8 na code page Windows i z powrotem). Charset kliencki `--default-character-set=utf8mb4` nie zawsze to naprawia. Rekord w bazie jest poprawnie UTF-8, ale pattern LIKE po przejściu przez shell zawiera inne bajty.

**How to apply:** Jeśli zapytanie dopasowania klienta po nazwisku zwraca 0 wyników, a jesteś pewny że rekord istnieje — ponów z hex-encoded wzorcem:

```sql
-- Zamiast: WHERE oa.name LIKE '%Stępińska%'
-- Użyj:
WHERE oa.name LIKE CONCAT('%', 0x5374C4997069C584736B61, '%')
```

Hex wygenerować w shell: `printf 'Stępińska' | od -An -tx1 | tr -d ' \n'` → `5374C4997069C584736B61`.

Lub użyj samego fragmentu bez polskich znaków (np. tylko nazwisko `%tarnowska%`, `%fundakowska%`) gdy to wystarcza do jednoznacznego dopasowania.
