Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyświetlanie znaczka 💕, Jak zformatować kodowanie, aby poprawnie wyświetliło znaczek
Czlowieczek
post 8.09.2016, 00:11:14
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 7.09.2016

Ostrzeżenie: (0%)
-----


Witam. Próbuję zrobić na takim jednym skrypcie znaczki rang.
Cały czas coś mi źle wychodzi, już nie wiem co mam robić. dlatego postanowiłam tutaj napisać o radę/pomoc.
O co chodzi....
Chodzi o to iż próbuję przez bazę danych dodać zapytanie aby znaczek rangi np administratora był taki: "💕"
jednak nie udaję mi się ponieważ wywala mi błąd: " #1300 - Invalid utf8 character string: '\xF0\x9F\x91\x91' "
próbuję też poprzez komendę. ale wtedy w bazie jest znak zapytania "??" Czy jest jakiś sposób aby poprawnie mi się wyświetlał?
mam hosting na hekko.pl
Wiem, że takie coś działa bo widziałam na stronie ask.hm że poprawnie wyświetla: http://ask.fm/cabelloteampoland/answers/130417877980
Oo nawet tutaj dobrze widać w tym temacie.
Jeśli ktoś wie jak zrobić too prrosze niech napisze, zalezy mi na tym.

Ten post edytował Czlowieczek 8.09.2016, 00:18:15
Go to the top of the page
+Quote Post
KsaR
post 8.09.2016, 00:18:33
Post #2





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

Ostrzeżenie: (0%)
-----


Jest to spowodowane tym że UTF-8 w MySQL obsługuję znaki do 3 bajtów.

W MySQL aby obsługiwało wszystkie musisz zmienić kodowania tabel, kolumn, i wszystkiego z utf8 na utf8mb4.
__
W stopce w "ciekawostkach" jak znajdziesz #8 ciekawostkę to trochę bardziej tam opisałem. tongue.gif

Ten post edytował KsaR 8.09.2016, 00:20:57


--------------------
Go to the top of the page
+Quote Post
Czlowieczek
post 8.09.2016, 00:32:06
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 7.09.2016

Ostrzeżenie: (0%)
-----


Jednak to mi nic nie daje ;C błędu już nie ma ale np jeśli ręcznie zmienie w bazie i wkleje 💕 to błędu nie ma ale jeśli odświeżę to są znaczki zapytania :C
a zmieniłąm tylko w kolumnie o nazwie znaczki i tam mam rangi a do nich znaczki rang. zakodowałam na: utf8mb4_general_ci
Go to the top of the page
+Quote Post
KsaR
post 8.09.2016, 00:34:57
Post #4





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

Ostrzeżenie: (0%)
-----


W PHPmyAdminie to testujesz czy na stronie swojej ?

Jak na swojej to upewnij się że kodowanie podczas łączenia z bazą jest utf8mb4.
Np. w PDO:
  1. $pdo = new PDO('mysql:host=localhost;dbname=bd;charset=utf8mb4', $user, $pass);

Że strona ma UTF-8, html5:
  1. <meta charset="UTF-8" />

+ plik php ma utf8 (bez BOM).


Ten post edytował KsaR 8.09.2016, 00:40:29


--------------------
Go to the top of the page
+Quote Post
Czlowieczek
post 8.09.2016, 00:48:57
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 7.09.2016

Ostrzeżenie: (0%)
-----


Ja to na płatnym hostingu hekko.pl
Tzn to nie jest strona a komunikator.
Tworzę czat na GG, widziałam u takiego jednego co poprawnie mu się wyświetla u mnie już nie.:C
teraz próbuję na phpmyadmin
Mam plik dane.php i tam mam "bez bom"
  1. <?php
  2. ### Plik Konfiguracyjny ###
  3.  
  4. $NrSkr = "1234"; // Twój numer
  5. $adm_nick = 'test';
  6. ## Kanfiguracja Api ##
  7. $ApiNr = "numer bota";
  8. $ApiLogin = "login api";
  9. $ApiHaslo = "haslo api";
  10.  
  11. ## Kanfiguracja bazy ##
  12. $host = "localhost"; // Host
  13. $bazau = "uzytkownik"; //
  14. $baza = "nazwa"; // Nazwa bazy
  15. $bazah = "haslo"; // Hasło bazy
  16.  
  17. ## Data postawienia ##
  18. $postawiony = mktime(0,0,0,2,14,2016);
  19.  
  20. $blokowani = array(numery_blokowanych);
  21.  
  22. include_once("biblioteki/MessageBuilder.php");
  23. include_once("biblioteki/PushConnection.php");
  24.  
  25. $db = new mysqli($host, $bazau, $bazah, $baza);
  26. if(mysqli_connect_errno())
  27. die("W chwili obecnej mamy problem z serwerem bazy danych. Odczekaj chwile i sprobuj ponownie");
  28. $q = $db->query("SET CHARSET utf8"); // polskie znaki
  29. $q = $db->query("SET NAMES `utf8` COLLATE `utf8_general_ci`"); // polskie znaki
  30. $p = new PushConnection($ApiNr, $ApiLogin, $ApiHaslo);
  31. $mb = new MessageBuilder();
  32. ?>


Może się znasz czy coś..
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 07:11