Hirdetés

MySQL: utf8 vs. utf8mb4

Jelenleg az UTF-8 a legnépszerűbb a karakterkódolások közül. Ez nem is véletlen, hiszen támogatja az összes Unicode karaktert, amik változó bájthosszúságúak (1-4; a karakterek az reprezentáláshoz szükséges legkevesebb tárhelyen tárolhatók). Véleményem szerint az UTF-8-on és ASCII-n kívül az összes karakterkódolást be kellene hinteni sóval, és maximum read only módban megnyithatónak hagyni ;]
Fejlesztésre XAMPP-ot használtam Windows-on, amiben annyi furcsaság van, hogy már egy ideje a MySQL helyett a forkja, MariaDB az adatbáziskezelő. Emoji-t szerettem volna kiolvasni és megjeleníteni PHP-val, amihez tudatosan az utf8 kódolású collationt használtam (PHP-ban csatlakozásnál is megadtam)... Egyszerűbb karakterekkel (pl. ékezetes) működött, viszont az emoji már nem ment. Ekkor rágugliztam és kiderült, hogy a MySQL féle utf8 nem is rendes 4 bájtos UTF-8 kódolás, hanem annak 3 bájton tárolt variánsa, amivel lehetetlen ilyen az emojik magasabb karakterkódjait tárolni. A megoldás, vagyis a "rendes" UTF-8 kódolás az utf8mb4, amit teljesen ajánlott és érdemes is használni. PHP-ban mysqli-ben / pdo-ban is érdemes átállítani. (Azt szomorú látni, hogy a PHP dokumentációjában erről nem szólnak, csak kommentben, és SO-n / blogposztokban kell utánaolvasni.) Szerencsére a MySQL 8-as verziótól alapértelmezetten az mb4-et használja, viszont a xampp-ban még mindig latin1 az alapértelmezett beállítás a MariaDB-hez (pedig a my.ini fájlban át lehetne írni). (Tudom a Windows rossz, lusta vagyok amiért xampp-ot használok, nem biztonságos. Linuxon inkább rendes LAMP/LEMP stacket használnék, rá a xampp gui-s telepítője vicc, amit egyszer kipróbáltam ki.)
Akit esetleg több dolog érdekel vagy szeretné átkonvertálni az adatbázisát mb4-re, akkor ezt a cikket ajánlom (amit én is olvastam), technikai részletekkel és parancsokkal.

Half-Life 2 Androidon

Az egész ott kezdődött, hogy egy ismerőstől szereztem egy Xbox 360 kontrollert...

Később szereztem a telefonomhoz egy OTG kábelt is, így már azzal is tudtam használni. Lehet használni elég sok játékban, viszont ennek a posztnak a fő áldozata a Half-Life 2, ami hivatalosan csak az NVIDIA Shield eszközökön futhatna Androidon. A 4PDA-ról és egyéb oldalakról szerzett tapasztalataimat szeretném megosztani ebben a bejegyzésben.

A kontrolleren kívül szükséges hozzá egy rootolt eszköz (ajánlom a Magisk-et), viszonylag erős hardverrel (nekem OP3-am van, amin csak pont, hogy elfut(Adreno 530)), ARM(64?) alapú architektúrával. És ezen kívül természetesen a játék androidos változata, amit nagyon helyesen nem lehet a Play Store-ból megvenni akkor, ha nincs hozzá megfelelő eszköz, ami futtatni tudná. Mivel a warez itt tiltott, ezért a beszerzésről nem írhatok.

Alapesetben ha sikerült elindítani a játékot, a Valve intro után a játék crashel. Ez azért van, mert a Shield eszközök saját NVIDIA Tegra chipsetet/GPU-t használnak, speciális feature-ökkel és OpenGL kiterjesztésekkel. Más eszközökön ezeket kell emulálni, amihez a GLTools használható, ami egyelőre csak Android 9-ig működik (sajnos a fejlesztője abbahagyta a fejlesztését az őt érő szivatások miatt, viszont vannak, akik folytatják helyette).

Megszűnik a képfeltöltés.hu

Fontos üzenet az üzemeltetőktől
A Képfeltöltés.hu 2016. december végén megszűnik. Új fotókat november 15-ig lehet feltölteni, az eddig feltöltött fotók december 15-ig elérhetőek, utána az alábbi címen: archiv.kepfeltoltes.hu (de itt csak kb. két hétig)
Köszönjük az eddigieket:
Tamás és Balázs
[link]

Material stílusú TWRP.img készítése

Mire lesz szükségünk?
A saját készülékünkhöz való TWRP.img
Egy Linux disztró(pl. Ubuntu)
mktool
Material TWRP téma

1. Töltsünk le mindent
2. Az mktool mappájába rakjuk bele a twrp.img-t

3. Nyissuk meg a terminál-t az mktool mappájában és írjuk be: ./mktool

4. Nyomjuk meg a 2-est és az entert

5. Pötyögjük be az img nevét és nyomjunk entert
6. Nyissuk meg a számunkra megfelelő színű téma zip-jét, majd csomagoljuk ki az mktool/extracted/ramdisk/twres mappába

a létező fájlokat írjuk felül

7. A META-INF mappát kitörölhetjük, de nem szükséges

8. Menjünk vissza a terminál-ba és nyomjuk meg a 4-est és enter

9. Az elkészült new-image.img-t már flashelhetjük is :)