Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z polskimi znakami, bez PhpMyAdmina
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


1. Dodałem za pomocą skryptu php nasepujący string do bazy ęąśżźćłó.

Teraz jeśli za pomocą skryptu php pobiorę dane z bazy, to na ekranie widzę polskie znaki.
Natomiast jak dam selecta z konsoli mysql to zamiast ęąśżźćłó widzę dziwne krzaczki


2. Natomiast jeżeli dodam do bazy striga z polskimi znakami korzystając z konsoli mysql, to po wydaniu selecta
(także z konsoli) na ekranie widzę polskie znaki, natomiast po wyciągnięciu danych za pomocą skyrptu php
nie ma polskich znaków - są jakieś krzaczki.

Próbowałem stosować wskazówki, któe znalazłem na forum php, m.in. tutaj http://forum.php.pl/index.php?showtopic=31...l=polskie+znaki nie pomagają.
oraz na różnych innych stronach z googla. Nie ma poprawy

Muszę mieć możliwość edytowania/dodawania z konsoli a nie tylko z poziomu php.
Konsola mi potrzebna jak ktoś coś namiesza do edycji ręcznej.

Proszę o pomoc. Nie korzystam z phpMyAdmina (nie chcę go i nie istalowałem)

Ten post edytował J4r0d 13.06.2006, 07:58:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mariuszn3
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


Tak jak pisałem, upewnij się, że to faktycznie to kodowanie.
Przejrzałem kodowania obsługiwane przez MySQL i wychodzi, że wiersz poleceń w windowsie XP pracuje w kodowaniu 'DOS Central European'. Czyli polecenie dla konsoli w MySQL będzie wyglądać tak:
  1. SET NAMES 'cp852'
Go to the top of the page
+Quote Post
Jarod
post
Post #3





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(mariuszn3 @ 13.06.2006, 23:57 ) *
Tak jak pisałem, upewnij się, że to faktycznie to kodowanie.
Przejrzałem kodowania obsługiwane przez MySQL i wychodzi, że wiersz poleceń w windowsie XP pracuje w kodowaniu 'DOS Central European'. Czyli polecenie dla konsoli w MySQL będzie wyglądać tak:
  1. SET NAMES 'cp852'


Jest to samo, czyli:
Cytat
#1406 - Data too long for column 'imie' at row 1


EDIT: W pliku my.cnf zahaszowałem linijke
Cytat
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

i nie wywala błędu i dodaje do bazy.

Ale problem jest nadal. W konsoli mysql po zalogowaniu i wybraniu bazy wpisałem:
  1. SET NAMES 'cp852';


a następnie
  1. INSERT INTO pracownik VALUE (NULL, 2, 'ą', 'ą' , 1, 'TES');


Następnie daje
  1. SELECT * FROM pracownik;


i otrzymuję:
Cytat
2 2 ? ? 1 TES


W phpie tak samo.

-----------------------------
EDIT2: Problem rozwiązany. Odinstalowałem Mysqla 5.x. Zainstalowałem Mysql 4.1.9 i wybrałem tryb konfiguracji zaawansowany. Ustawiłem domyślne kodowanie na latin2. Dalej robię tak jak kazałeś i działa pięknie. Dziękuje bardzo. Dam znać czy z Mysql 5.x też będzie działać.

Pozdrawiam

Ten post edytował J4r0d 14.06.2006, 10:09:44
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 28.09.2025 - 23:38