Emotikony i skrypt PHP

Odpowiedz Nowy wątek
2019-08-06 18:13
0

Witam mam pewien problem związany z emotikonami. Obecnie stworzyłem skrypt używając ts3 framework php, który uruchamia się co 5min i zlicza ile kto spędził czasu na serwerze tworząc potem ranking. Pobieram nicki osób obecnych, skrypt sprawdza, czy dany nick jest już w bazie. Jeżeli jest to dodaje mu 5 min przebytego czasu, jeżeli nie to tworzy nowy rekord w bazie. (wiem, że nie jest to idealne rozwiązanie). Problem pojawia się jeżeli ktoś ma nick zawierający emotikony. Wtedy cały mój skrypt wariuje i nie da się nazwy takiej osoby zapisać w bazie. Dlatego mam pytanie czy da się jakoś usunąć te emotikony? np. jedna osoba ma taki nick []💕⚡PatЯiX⚡ 1221💕NL i jak te serca zapisać w bazie albo je jakoś wyrzucić? Próbowałem str_replace ale jak skopiowałem to serce, czy pioruny to nie zadziałało, a żadnego kodu tych znaków nie widzę. Co z tym zrobić?

zapewne sklejasz kwerendę albo coś podobnego. Użyj kwerendy parametrycznej. I pokaż kod - AnyKtokolwiek 2019-08-06 20:21

Pozostało 580 znaków

2019-08-06 20:02

Rzuć okiem na https://stackoverflow.com/que[...]a-simple-removeemoji-function

Tylko musisz pamiętać, że usuwając emotki może dojść do sytuacji, w której różne nicki stana się identyczne, jeśli wcześniej różniły się tylko emotkami. Przykładowo "Stefan EMOTKA" oraz "EMOTKA Stefan" na razie się różnią, ale po usunięciu emotki obaj będą "Stefanem".

Zamiast tego, lepiej się zastanów, czemu tych emotek nie umiesz poprawnie obsługiwać. Inna rzecz, na którą powinieneś rzucić okiem - https://stackoverflow.com/que[...]g-to-insret-emoji-in-database


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say
edytowany 1x, ostatnio: cerrato, 2019-08-06 20:05

Pozostało 580 znaków

2019-08-06 20:27
3

a co ci da zliczanie po nickach jak nick można sobie co sekundę zmieniać? Zapewne masz tam jakieś identyfikator. Jego zliczaj.

Pozostało 580 znaków

2019-08-06 20:32
0

Większość osób ma taki sam nick na ts jak w grze i go nie zmieniają. Często część osób loguje się z różnych komputerów, gdzie mają inną tożsamość, ale id też zbieram.

edytowany 2x, ostatnio: mordkaje, 2019-08-06 20:36

Pozostało 580 znaków

2019-08-06 20:34
1

TS3 wyswietla tez ile kto siedzi na serwerze w danej sesji. Moze jest jakis event User::onLeft i mozna by po wyjsciu z serwera dosumowac czas?


01010100 01110101 01110100 01100001 01101010 00100000 01101110 01101001 01100101 00100000 01101101 01100001 00100000 01101110 01101001 01100011 00100000 01100011 01101001 01100101 01101011 01100001 01110111 01100101 01100111 01101111 00101110 00100000 01001001 01100011 00100000 01110011 01110100 01101111 01101110 01110100 00101110
edytowany 1x, ostatnio: stivens, 2019-08-06 20:34

Pozostało 580 znaków

2019-08-06 21:53
2

to zamiast trzymać nick, generuj sobie hasha na jego podstawie i tego hasha zapisuj, najprostszy md5 wystarczy.

Pozostało 580 znaków

2019-08-07 09:16
0

Dzięki za odpowiedzi. Udał się lepszy wariant, czyli obsługa tych emotikon.

No to po pierwsze - łapki (oraz być może ptaszka) dla pomocników proszę :P A po drugie - możesz się podzielić swoim rozwiązaniem, być może się komuś przyda w przyszłości, kto będzie też walczył z tym problemem. - cerrato 2019-08-07 09:26
Jedyne co wystarczyło zrobić to zmienić na utf8mb4 wszędzie gdzie było utf-8 wiec nie ma zbytnio czego pokazywać, ale łapki w górę dałem. - mordkaje 2019-08-07 10:06
na pewno dałeś? popatrz na mój post kilka pięter wyżej :P - cerrato 2019-08-07 10:09
nie wiem czemu po odświeżeniu strony znika - mordkaje 2019-08-07 10:10
ale chyba już ok - mordkaje 2019-08-07 10:11
Tak, dzięki :) - cerrato 2019-08-07 10:12

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0