Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Polskie znaki w bazie
Ikky
post
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 1
Dołączył: 5.07.2009

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


Witam

Robie strone w trzech językach (polski, angielski, francuski) więc koniecznie musi być w UTF.
Dopoki tekst jest w pliku php nie ma zadnych krzaczków wiec problem lezy po strony bazy.


Gdy próbuje zmienić character set dla bazy to mam taki błąd:

Błąd
zapytanie SQL:

ALTER DATABASE `baza` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

MySQL zwrócił komunikat:

#1044 - Access denied for user 'baza'@'%' to database 'baza'


metoda porównywania napisów dla tabeli na pewno: utf8_unicode_ci

a i jeszce w tym artykule z pierwszej strony było napisane żeby dodać SET NAMES do zapytania w php jednak nie mam pojęcia jak to zrobić mam taki kod:

$sql = "SELECT * FROM `translations` WHERE `id`= '1' ";
$result = @mysql_query($sql, $polaczenie) or die("brak odpowiedzi z zapytania");
while ($row = mysql_fetch_array($result))
$tekst = $row['pl'];

Ten post edytował Ikky 5.07.2009, 12:22:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


Jak się łączysz z bazą danych ?


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
Ikky
post
Post #3





Grupa: Zarejestrowani
Postów: 120
Pomógł: 1
Dołączył: 5.07.2009

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


  1. <?php
  2. define(DB_HOST,"d.fd.d.pl");
  3. define(DB_USER,"d_d");
  4. define(DB_PASS,"d");                
  5. define(DB_NAME,"d_dd");        
  6. $polaczenie = mysql_connect(DB_HOST,DB_USER,DB_PASS) or die("Fail");
  7. $baza = mysql_select_db(DB_NAME, $polaczenie) or die("Baza fail");
  8.  
  9. $sql = "SELECT * FROM `translations` WHERE `id`= '1' ";
  10. $result = @mysql_query($sql, $polaczenie)    or die("brak odpowiedzi z zapytania");
  11. while ($row = mysql_fetch_array($result))
  12. $cos = $row['pl'];
  13. ?>


Ten post edytował Ikky 5.07.2009, 12:31:48
Go to the top of the page
+Quote Post
Darti
post
Post #4





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


nie masz uprawnień do poleceń ALTER dla bazy 'baza'
i popraw kod tak:
  1. <?php
  2. define(DB_HOST,"d.fd.d.pl");
  3. define(DB_USER,"d_d");
  4. define(DB_PASS,"d");                
  5. define(DB_NAME,"d_dd");        
  6. $polaczenie = mysql_connect(DB_HOST,DB_USER,DB_PASS) or die("Fail");
  7. $baza = mysql_select_db(DB_NAME, $polaczenie) or die("Baza fail");
  8.  
  9. @mysql_query('SET NAMES UTF8', $polaczenie)    or die("nie mogę zrobić SET NAMES :/");
  10.  
  11. $sql = "SELECT * FROM `translations` WHERE `id`= '1' ";
  12. $result = @mysql_query($sql, $polaczenie)    or die("brak odpowiedzi z zapytania");
  13. ?>


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
Ikky
post
Post #5





Grupa: Zarejestrowani
Postów: 120
Pomógł: 1
Dołączył: 5.07.2009

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


set names załatwiło sprawe smile.gif
dzięki bardzo za pomoc
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 Aktualny czas: 19.08.2025 - 10:13