• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

brak polskich znaków w php i mySQL

Object Storage Arubacloud
0 głosów
2,042 wizyt
pytanie zadane 6 października 2020 w PHP przez napoludniestad.pl Użytkownik (960 p.)

mam pytanie czemu wychodzą mi krzaczki pomimo od początku ustawienia utf8_polish_ci?

na localhost działa wszystko ok

a na stronie mi wywala znaczki

https://napoludniestad.pl/poradniki.php - najedz na artykuł żeby zobaczyć

kod php

<?php
require_once "connect.php";
 
// Create connection
$conn = @new mysqli($host, $db_user, $db_password, $db_name); // baza z serwerem - podpięty plik connect 
 
 
// Check connection
if ($conn->connect_errno!=0) {
     
    echo "Error".$conn->connect_errno."opis".$conn->connect_error;
	mysqli_query($conn, "SET CHARSET utf8");
mysqli_query($conn, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");

}
else
{
    $sql = "SELECT art FROM poradniki"; //kod sql i zapytanie
	
    $rezultat = @$conn->query($sql);
	if ($rezultat->num_rows>0){
		while ($row=$rezultat->fetch_assoc()){
	echo $row ["art"]; // wyświetla dokładne informacje jakie chcesz mieć na stronie 
	}
	}
        //echo "udało się połączyć";
        $conn->close();
}
 
 
?>

wiecie jak to obejść?

 

2 odpowiedzi

0 głosów
odpowiedź 6 października 2020 przez KumberTwo Dyskutant (8,270 p.)
Spróbuj dodać w sekcji <head> znacznik: <meta charset="utf-8">, lub ewentualnie w znacznikach <html> dodaj atrybut lang="pl"     ->      <html lang="pl"></html>
0 głosów
odpowiedź 6 października 2020 przez senpai desu Mądrala (5,720 p.)
Czy zdalna baza ma ustawione poprawne kodowanie w tabeli/kolumnie ? bo jeśli dane były zapisane w innym kodowaniu to mogą być problemy. Jeśli jest inne i zmienisz kodowanie w tabeli to prawdopodobnie trzeba jeszcze raz zapisać treść bo automatycznie nic się nie przekonwertuje. Generalnie samo utf8/utf8_general_ci załatwia sprawę kodowania nie musisz używać tego : utf8_polish_ci. Jeśli możesz to wklej te "znaczki" to pomaga w znalezieniu rozwiązania jeśli to by było coś innego np: kodowanie samego pliku albo kodowanie ustawione w head w html.
komentarz 6 października 2020 przez napoludniestad.pl Użytkownik (960 p.)

mam od początku w tabeli polish_ci w utf 8

mam też zapisane w html lang=PL

 

<html lang="PL"> 

<head>   
<meta charset="utf8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

mimo to wygląda to tak Jak spakowa� kosmetyczk� na 3 dni? 

 

link do strony gdzie to widać - https://napoludniestad.pl/poradniki.php

 

komentarz 6 października 2020 przez napoludniestad.pl Użytkownik (960 p.)

a tak wygląda rekord który dodaje

<article><!--artykuł-->
<div class="col-12">
<div class="card"> <a href="jak-spakowac-kosmetyczke-na-3-dni.php" style="text-decoration:none">
  
  
    <img class="img-thumbnail img-fluid" src="photos/jak-spakowac-kosmetyczke-na-3-dni/jak-spakowac-sie-na-3-dni-main.png"  alt="Jak spakować kosmetyczkę na 3 dni?" title="Jak spakować kosmetyczkę na 3 dni?">
    <div class="card-text" style="width:100%">	
	 

<a style="text-decoration:none" class="icon-calendar"  href="jak-spakowac-kosmetyczke-na-3-dni.php"> 01/10/2020
 
<p>Jak spakować kosmetyczkę na 3 dni?</p>		
			</div></a></a>
			
			
	
   
  </div>

</div>
</article><!--koniec artykuł-->

 

komentarz 6 października 2020 przez senpai desu Mądrala (5,720 p.)
<article><!--artykuł--> tu widzę jest ok ale źródło strony pokazuje <article><!--artyku�-->

jakie jest kodowanie tego pliku? jeśli nie utf-8 to będziesz miał problemy zrezygnuj z utf8_polish_ci w bazie i tabeli nie ma sensu tego używać tylko utf-8/utf-8_general_ci
komentarz 6 października 2020 przez napoludniestad.pl Użytkownik (960 p.)
dobra sprawdzę
komentarz 6 października 2020 przez napoludniestad.pl Użytkownik (960 p.)
zmieniłem ręcznie w pliku sql na utf8_general_ci i nadal to samo - zrobiłem to ręcznie - myślisz że trzeba wgrać wszystko od nowa i wyexportować jeszcze raz?
komentarz 6 października 2020 przez senpai desu Mądrala (5,720 p.)
chodzi mi o plik z kodem w którym masz :

<article><!--artykuł-->

<div class="col-12">

jakiego edytora używasz upewniłeś się, że plik jest zapisany jako utf-8 (wszystkie pliki powinny być utf-8) jeśli tak i nadal jest źle to zapisz kolumnę gdzie masz ten text raz jeszcze, z klawiatury dodaj polskie znaki aby się upewnić, używasz phpMyadmin albo adminer ? co się wyświetla kiedy przeglądasz te rekordy, dobrze się wyświetlają poza stroną ?
komentarz 6 października 2020 przez napoludniestad.pl Użytkownik (960 p.)

tylko że właśnie to dodaje do bazy :D

<article><!--artykuł-->
<div class="col-12">
<div class="card"> <a href="jak-spakowac-kosmetyczke-na-3-dni.php" style="text-decoration:none">
   
   
    <img class="img-thumbnail img-fluid" src="photos/jak-spakowac-kosmetyczke-na-3-dni/jak-spakowac-sie-na-3-dni-main.png"  alt="Jak spakować kosmetyczkę na 3 dni?" title="Jak spakować kosmetyczkę na 3 dni?">
    <div class="card-text" style="width:100%">    
      
 
<a style="text-decoration:none" class="icon-calendar"  href="jak-spakowac-kosmetyczke-na-3-dni.php"> 01/10/2020
  
<p>Jak spakować kosmetyczkę na 3 dni?</p>       
            </div></a></a>
             
             
     
    
  </div>
 
</div>
</article><!--koniec artykuł-->

to wszystko wstawiłem jako rekord - używam php my admin - kiedy odpalam to na local host wszystko jest ładne i cacy ale jak daje na serwer to już gubi polskie znaki

komentarz 6 października 2020 przez senpai desu Mądrala (5,720 p.)
a jak ręcznie wstawisz zdalnie do admin polskie znaki z klawiatury zamiast tego wyciętego kodu np śćżźąę  to jak się wyświetla ? bo jeśli coś kopiujesz ze źle zakodowanego pliku to jest szansa że przeniesiesz błędnie znaki i po zapisie będą krzaki
komentarz 6 października 2020 przez napoludniestad.pl Użytkownik (960 p.)
próbowałem wstawić rekord ręcznie w plik SQL ale nic sie nie pojawiło (nawet krzaczki)

wywaliłem całą bazę zrobiłem od początku z ustawieniem general_ci i wgrałem na server ale nadal to samo :/ chyba dam bez polskich znaków bo nie mam siły z tym walczyć - może to z powodu wstawiania całego kodu? a nie tylko tam gdzie to niezbędne?
komentarz 6 października 2020 przez senpai desu Mądrala (5,720 p.)

a co się pojawiło na stronie? kiedy wstawiłeś polskie znaki zamiast tego kodu ?? coś się musiało pojawić ??

zamień polecenie kodowania połączenia na poniższe 

//mysqli_query($conn, "SET CHARSET utf8");
//mysqli_query($conn, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");

/* change character set to utf8 */
if (!$conn->set_charset("utf8")) {
  echo 'err';
  exit();
} 

 

komentarz 6 października 2020 przez napoludniestad.pl Użytkownik (960 p.)
no właśnie dziwne bo nic się nie pojawia - coś zj3balem na maxa i nawet nie ogarniam co - bo zamieniłem na bez polskich znaków i wyświetla z krzaczkami
komentarz 6 października 2020 przez senpai desu Mądrala (5,720 p.)
ok jeśli nie możesz wyświetlić tylko polskich znaków/albo krzaków wpisanych ręcznie w adminie to nie damy rady tego rozwiązać, wpisanie ręczne a wklejenie to duża różnica
komentarz 6 października 2020 przez napoludniestad.pl Użytkownik (960 p.)
dobra debil ze mnie ale to przez to że pierwszy raz to robię - w jakiś dziwny sposób stworzyłem bazę na local host i wyexpotrowałem ją na serwer zamiast się zalogować na phpmyadmin na serwerze jak człowiek - stąd nic się nie pojawiało...
komentarz 6 października 2020 przez napoludniestad.pl Użytkownik (960 p.)
udało mi się zmienić to bez polskich znaków i chyba na ta chwilę tak zostawię i w jakiś dzień będę kombinował z polskimi znakami stosując się do podpowiedzi od was

Podobne pytania

0 głosów
1 odpowiedź 1,151 wizyt
pytanie zadane 8 lipca 2016 w PHP przez Adrian1999 Nałogowiec (34,570 p.)
0 głosów
0 odpowiedzi 1,037 wizyt
pytanie zadane 5 listopada 2017 w SQL, bazy danych przez qwerty723446 Obywatel (1,750 p.)
+2 głosów
4 odpowiedzi 6,263 wizyt
pytanie zadane 17 czerwca 2016 w SQL, bazy danych przez Mr Popcorn Bywalec (2,340 p.)

92,550 zapytań

141,394 odpowiedzi

319,522 komentarzy

61,935 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...