Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] nie wyświetla na stronce PL znaków
kalafior122
post 16.08.2012, 21:44:45
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 1
Dołączył: 19.03.2012
Skąd: Września

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


Witam jestem już tak w####y męczę się z tym 2 i pół godz. w PHPMYADMIN pokazuje normalnie znaki PL a na stronce nie
kodowanie w pma (mysql):
utf8_polish_ci
meta w na stronce:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

dlaczego nie wyświetla i jak to naprawićquestionmark.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
przemo191
post 16.08.2012, 21:56:02
Post #2





Grupa: Zarejestrowani
Postów: 154
Pomógł: 3
Dołączył: 1.08.2011

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



  1.  
  2. $link = mysqli_connect('localhost', 'root', '');
  3. mysqli_set_charset($link, 'utf8');
  4.  



Go to the top of the page
+Quote Post
kalafior122
post 16.08.2012, 22:02:05
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 1
Dołączył: 19.03.2012
Skąd: Września

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


ja mam mysql a nie mysqli a gdy poprawiłem wyskakuje błąd i nadal nic
error:
Warning: mysql_set_charset() expects parameter 1 to be string, resource given in bazka.php on line 9
Go to the top of the page
+Quote Post
Szymciosek
post 16.08.2012, 22:08:34
Post #4





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


A zapytanie do bazy umiesz wysłać ? Query ?

  1. query("SET NAMES utf8");


Po każdym łączeniu z bazą

Ten post edytował Szymciosek 16.08.2012, 22:09:35
Go to the top of the page
+Quote Post
kalafior122
post 16.08.2012, 22:22:31
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 1
Dołączył: 19.03.2012
Skąd: Września

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


jeżeli jest to PDO to nie sad.gif

kod wyświetlający
  1. <?php
  2. include("bazka.php");
  3. $id = $_GET["a"];
  4. $q1 = mysql_query("SELECT * FROM news WHERE id = '$id' LIMIT 1");
  5. $p1 = mysql_fetch_assoc($q1);
  6. {
  7. $tytul = $p1["tytul"];
  8. $autor = $p1["autor"];
  9. $data = $p1["data"];
  10. $tresc = $p1['tresc'];
  11. $title = $tytul;
  12. }
  13. include("top.php");
  14. // meta (utf8) jest w top
  15. ?>
  16. <div id="tresc">
  17. <?php
  18.  
  19. <br>
  20. <h1>$tytul</h1>
  21. <br>
  22. $tresc
  23. ";
  24.  
  25. ?>
  26. </div>
  27. <?php include("bottom.php"); ?>
  28.  


Ten post edytował kalafior122 16.08.2012, 22:27:14
Go to the top of the page
+Quote Post
Szymciosek
post 16.08.2012, 22:50:46
Post #6





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Cytat(kalafior122 @ 16.08.2012, 23:22:31 ) *
jeżeli jest to PDO to nie sad.gif

kod wyświetlający
  1. <?php
  2. include("bazka.php");
  3. $id = $_GET["a"];
  4. $q1 = mysql_query("SELECT * FROM news WHERE id = '$id' LIMIT 1");
  5. $p1 = mysql_fetch_assoc($q1);
  6. {
  7. $tytul = $p1["tytul"];
  8. $autor = $p1["autor"];
  9. $data = $p1["data"];
  10. $tresc = $p1['tresc'];
  11. $title = $tytul;
  12. }
  13. include("top.php");
  14. // meta (utf8) jest w top
  15. ?>
  16. <div id="tresc">
  17. <?php
  18.  
  19. <br>
  20. <h1>$tytul</h1>
  21. <br>
  22. $tresc
  23. ";
  24.  
  25. ?>
  26. </div>
  27. <?php include("bottom.php"); ?>
  28.  


Dodaj po tym:
  1. $id = $_GET["a"];


to:
  1. mysql_query ('SET NAMES utf-8');


rozumiem, że:
  1. include("bazka.php");

łączy Cię z bazą ?

Albo drugą opcją może być teraz to, że w bazie masz już zapisane wszystkie wpisy z innym kodowaniu, więc teraz wejdź do phpmyadmin i sprawdź to przy danym polu.

Ten post edytował Szymciosek 16.08.2012, 22:51:47
Go to the top of the page
+Quote Post
kalafior122
post 16.08.2012, 23:03:20
Post #7





Grupa: Zarejestrowani
Postów: 65
Pomógł: 1
Dołączył: 19.03.2012
Skąd: Września

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


nadal nic sad.gif(((
Go to the top of the page
+Quote Post
ExtazyPro
post 16.08.2012, 23:04:20
Post #8





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 30.07.2012

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


może użyj mysql_set_charset wygrzebałem to więc nie pytaj jak/gdzie to wstawic ..
chyba nie biggrin.gif
"Jest to preferowana metoda zmiany kodowania. Korzystanie z mysql_query () , aby ustawić go (np. SET NAMES utf8 ) nie jest zalecane"

Ten post edytował ExtazyPro 16.08.2012, 23:17:40
Go to the top of the page
+Quote Post
kalafior122
post 18.08.2012, 15:35:14
Post #9





Grupa: Zarejestrowani
Postów: 65
Pomógł: 1
Dołączył: 19.03.2012
Skąd: Września

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


to służy chyba do czegoś innego tongue.gif

@ref
Go to the top of the page
+Quote Post
kondziu9516
post 19.08.2012, 09:46:58
Post #10





Grupa: Zarejestrowani
Postów: 142
Pomógł: 1
Dołączył: 9.08.2011
Skąd: Bielsko Biała

Ostrzeżenie: (20%)
X----


Wpisz sobie takie coś zaraz po połączeniu z bazą

  1. mysql_query ("SET NAMES 'utf8' COLLATE 'utf8_polish_ci'"); //kodowanie


I co działa??

Ten post edytował kondziu9516 18.08.2012, 21:50:16
Go to the top of the page
+Quote Post
konieczko88
post 19.08.2012, 20:07:11
Post #11





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 19.08.2012

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


Hej podłączę się do tematu... Wiem że temat wałkowany itp ale żadne z podawanych rozwiązań typu "mysql_query("SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");" mi nie pomogło więc postanowiłem zapytać. Oto moja konfigutacja:

mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+--------------------------+
| Variable_name | Value |
+--------------------------+--------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\MySQL\share\charsets\ |
+--------------------------+--------------------------+


mysql> SHOW VARIABLES LIKE 'collation%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+


mysql> SHOW CREATE database test;

| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE
utf8_unicode_ci */ |



mysql> SHOW CREATE table loginy;

loginy | CREATE TABLE `loginy` (
`id` int(11) NOT NULL auto_increment,
`plec` varchar(255) character set utf8 collate utf8_polish_ci default NULL,
PRIMARY KEY (`id`)
ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |


Po wpisaniu w konsoli mysql mam krzaki:
mysql> select * from loginy;
+----+------+
| id | plec |
+----+------+
| 1 | opl |
| 2 | ¢op |
+----+------+


Jednak po ustawieniu : 'set names latin1;' krzaków nie ma:

mysql> set names latin1;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from loginy;
+----+------+
| id | plec |
+----+------+
| 1 | opl |
| 2 | óop |
+----+------+

Wiem, że latin1 nie ma polskich znaków... Jednak nie mam pojęcia jaki błąd popełniłem, że nie widzę polskich znaków w konsoli mysql dla utf8 ale dla latin1 już tak questionmark.gif?

Podczas próby wyświetlania tej pozycji w Mozilli też mam krzaki: ¢op
mam ustawione:
- charset=utf-8
- wszystkie możliwe kombinacje typu:
mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_connection=utf8_polish_ci");
mysql_query("SET character_set_client=utf8_polish_ci");
mysql_query('SET character_set_results=utf8_polish_ci');
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
mysql_query("SET CHARACTER_SET utf8_unicode_ci");
- plik zapisywałem w formacie: UTF-8 oraz UTF-8 (bez BOOM)

Plik my :
# CLIENT SECTION
default-character-set=utf8

# SERVER SECTION
default-character-set=utf8
character_set_server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake

Już kolejny dzień z tym walczę. Pomocy...



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: 14.08.2025 - 03:45