--- 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.