Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie znaczka 💕
Forum PHP.pl > Forum > Bazy danych
Czlowieczek
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.
KsaR
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
Czlowieczek
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
KsaR
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).
Czlowieczek
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ś..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.