Nejste přihlášen/a.
PS:PARDON je tam bordel, zdejší systém smazal lomítka
mám problém rozdchodit korektní kódování v příkazové řádce, php.exe (cli) a sublime_text editoru v build systému.
Jak docílit ,aby php v warningách a errorech nekomolilo cestu? Cílem je samozřejmě aby vše chodilo v UTF-8 a né obsatoržním cp1250 (které je jako příklad, ve kterém fungujou hlášky). Tučně je zobrazen obsah souboru(který je samozřejmě v utf-8), který následně spustím přesb Ctrl B v sublime text 3.
Příklad
1. soubor %APPDATA%RoamingSublime Text 3PackagesUserphp má.sublime-build property encoding na cp1250
?php echo mb_strtolower("Ť"); echo [1,2,3][5];echo mb_strtoupper("ť");
>> ĹĄ
Notice: Undefined offset: 5 in C:UsersŤuťDesktopws.php on line 1
ŤPHP Notice: Undefined offset: 5 in C:ŤuťUživatelDesktopws.php on line 1
[Finished in 0.2s]
Podobný výstup je i přímo v cmd, a je jedno zda předtím dám chcp1250, z toho vyplává že windows používá cp1250...
C:UsersŤuťDesktop>php -f "Ťuťíkův test.php"
ĹĄPHP Notice: Undefined offset: 5 in C:UsersŤuťlDesktopŤuťíkův test.php
on line 1
Notice: Undefined offset: 5 in C:UsersŤuťDesktopŤuťíkův test.php on lin
e 1
Ť
NAOPAK příklad 2:
1. soubor %APPDATA%RoamingSublime Text 3PackagesUserphp má.sublime-build property encoding na utf-8
stejný obsah souboru %USERPROFILE%DesktopŤuťíkův test.php.
echo mb_strtolower("Ť"); echo [1,2,3][5];echo mb_strtoupper("ť");
>> ť[Decode error - output not utf-8]
Ť[Decode error - output not utf-8]
[Finished in 0.2s]
Naopak výstup php je OK, ale notici jsou neplatný utf string
Jak tedy přinutit, aby cesty byly čteny ve správné codepage?
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.