Strings substrings, firstLower, … nefunguje správně při kopírování z ms word

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Oli
Člen | 1215
+
0
-

Ahoj,
mám data z databáze v UTF-8 a chci si vybrat první písmeno, ale nemůžu se na něj dostat. Klient kopíruje string z (pravděpodobně) wordu a v některých případech se tam vloží i nějaký netisknutelný znak. Zkoušel jsem to opravit pomocí truncate, normalize, … nic nepomáhá. Neřešil někdo něco takovýho?

Například takový kód:

dump($term->title);
dump(Strings::firstLower(Strings::normalize($term->title)));

Vypíše tohle:

"​Zvíře v bytě" (18)
"​Zvíře v bytě" (18)

Length to spočítá správně. Ale když použiju substr, mb_substr nebo iconv_substr, tak musím „zobrazit“ o znak víc, jinak to vrátí prázdný řetězec…

Jan Mikeš
Člen | 771
+
0
-

Místo dumpu bych zkusil použít xdebug a v breakpointu zkontrolovat opravdovou hodnotu proměnné, jestli náhodou dump string nějak neupravuje.