![]() ![]() |
Post
#61
|
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 3 Dołączył: 14.12.2006 Skąd: /usr/bin/php Ostrzeżenie: (0%)
|
druga sprawa... przy takiej metodzie, przy każdym zapytaniu do bazy następuje jakaś tam konwersja znaków - a to zawsze trochę trwa, przy niewielkiej stronie pewnie można by to pominąć, ale przy większej ilości zapytań już wzrasta obciążenie serwera dokładnie ! taka metoda odpada a ja już częściowo rozwiązałem problem, - eksportowałem całą bazę, - podmieniłem wszystkie wystąpienia "& oacute;" na normalne "ó" w pajączku, - przeinstalowałem, MySQLa i phpmyadmin, wszystkie konfigi tak jak powyżej podałem, - tylko w phpMyAdmin/librares/config.default.php zakomentowałem linijke $cfg['Lang'] = 'pl-iso-8859-2'; - import teraz już normalnie, zarówno pma wstawia/edytuje "ó" jak i zwykły formularz text/textarea również, problem pozostał tylko w formularzach wysiwyg (konkretnie to TinyMCE) , ale to już temat na inną bajkę i chyba wiem gdzie się to zmieniało |
|
|
|
Post
#62
|
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 19.01.2007 Ostrzeżenie: (0%)
|
Witam
Jest to mój pierwszy post na tym forum więc witam gorąco, niestety mam podobny problem, próbowałem rozwiązać go powyższymi sposobami, ale niestety zonk, a do plików Apache, mySQL itp. nie mam dostępu. Po pierwsze, mam dwie wersje bazy danych w postaci (fragment) a) normalne polskie znaki
(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) kodowane znaki czyli ¶, ±, ľ itp.
Z którym plikiem bazy danych mam się "bawić"? Mój cel to kodowanie iso, metodę porównywania znaków mam ustawione na latin2_general_ci, w projekcie tabeli:
No i mam znaki ? ? ? po imporcie na serwerze :/ Jakieś pomysły, po zmianie na binary wszystko cyka, ale jak wrócę na np. varchar znów to samo. |
|
|
|
Post
#63
|
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 6.02.2007 Ostrzeżenie: (0%)
|
Mam podobny problem jak opisane powyżej z tą różnicą, że jak wchodze do myphpadmin i przeglądam dane z bazy to wszystko jest OK
Ale jak strona próbuje pobrać te same dane z bazy to większość poskich znaków zamienia się na znaki zapytania "...Zespó? powsta? w Sopocie na prze?omie 1993/94 roku. Przez ten czas, wspó?pracowa? z ró?nymi muzykami zbieraj?c nowe do?wiadczenia. ..." kod strony wygląda następująco plik ./inc/common.php' <?php function db_connect() { @$link_id= mysql_connect("localhost","user","pass"); if(!$link_id) { return false; } if(!mysql_select_db("nazwa_bazy")) { return false; } return $link_id; } ?> plik index.php <?php include('./inc/common.php'); $link_id=db_connect(); if(!$link_id) return "brak poł±czneia z baz±"; $sql = 'SELECT * FROM `program` WHERE ( `data` = \'2005-01-28\' )'; $wynik_pobierz=mysql_query($sql); while($dane_pobierz=mysql_fetch_array($wynik_pobierz)){ $data_program=$dane_pobierz["data"]; $data_program=strtotime($data_program); //zamienia na formayt uniksowy $data_program=date("d-m-Y",$data_program); // konweruje w formacjie d-m-r $tytul_program=$dane_pobierz["tytul"]; $tytul_program=stripslashes($tytul_program); $opis_program=$dane_pobierz["caly"]; echo "<table>"; echo"<tr><td><B>$data_program</b></td></tr>"; echo "<tr><td>$tytul_program</td></tr>"; echo "<tr><td>$opis_program</td></tr>"; } ?> to wszystko jest odpalone na debianie , co mogę zrobić, żeby normalnie odczytywać znaki polskie na stronie?? |
|
|
|
Post
#64
|
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.05.2005 Ostrzeżenie: (0%)
|
to wszystko jest odpalone na debianie , co mogę zrobić, żeby normalnie odczytywać znaki polskie na stronie?? dwa pytania: 1. czy masz na samej stronie w htmlu ustawione informacje o kodowaniu znaków? (meta) 2. w jakim kodowaniu masz dane w bazie? jeśli w phpmyadminie wszystko wyświetla się poprawnie, to podejrzewam, że wystarczy dodać zapytanie przy łączeniu się z bazą danych - o tym było już wcześniej... np. jeśli dane są w iso-8895-2, to po mysql_connect dodaj: mysql_query("set names latin2") |
|
|
|
Post
#65
|
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 2 Dołączył: 21.10.2006 Ostrzeżenie: (0%)
|
Witam!
A ja mam problem taki że nie wiem jak wstawiać polskie znaki do bazy przez stronę www. Wszsystkie ustawienia mam na latin2 i iso-8859-2. Ustawienia Apache 2.0.59, PHP 5.1.6, phpMyAdmin-2.9.2, i MySQL 5.x mam takie jak podał kolega @woodzu. W index.php mam następujący przykładowy kod:
Kiedy wstawiam dane do bazy przy użyciu poniższej instrukcji z poziomu index.php
po ich wyświetleniu w tym samym skrypcie zamiast kogonków są krzaki. Kiedy wstawię te same dane przy użyciu phpMyAdmin-2.9.2 po ich wyświetleniu w index.php tekst jest normalny, czyli ogonki są. Proszę o pomoc w odpowiedzi na pytanie jak wstawiać do bazy dane przy użyciu formularza www, ewentualnie bezpośrednio ze skryptu php aby po ich wyświetleniu nie zgubiły się ogonki. |
|
|
|
Post
#66
|
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%)
|
|
|
|
|
Post
#67
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 15.12.2004 Skąd: KrK Ostrzeżenie: (10%)
|
widze, ze połączenie masz na clasach, wię ja bym do classy łączącej się z bazą dał takie coś
zaraz po nawiązaniu połączenia z bazą,wtedy od razu odpada ci wszelkie dodatkowe zapytania, pamiętanie o nich itp Ten post edytował Spanner 22.02.2007, 15:19:49 |
|
|
|
Post
#68
|
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%)
|
Aby nie tworzyć nowego tematu, dołączę pytanie tutaj.
Zaktualizowałem pakiet WebServ - więc PHP z 5.1.5 nad 5.2.3 i MySQL z 4 na 5. Teraz w przeglądarce nie wyświetlają się polskie znaki w pobranych danych z bazy. Aktualizacja rekordów z poziomu PHP też nic nie daje. MySQL 5 dodatkowo jeszcze posiada mechanizm porównywania znaków. Fragment my.ini: Kod language=c:/usr/mysql/share/polish character-set-server=latin2 default-character-set=latin2 Zmienne MySQL: Kod character_set_system=utf8 (I tego nie mogę zmienić) Pozostałe zmienne - collation_* i character_set_* (opr. _filesystem = binary) mają wartość LATIN2.Tabele również mają kodowanie latin2, lecz nie mogą zapamiętać porównania znaków (ustawiam latin2_general_ci, nie ma polish_ci), chyba że MySQL-Front po prostu ich nie odczytuje. Pomaga dopiero poniższe zapytanie wywołane po rozpoczęciu połączenia: Kod SET CHARACTER SET 'latin2' Tylko dla nowo wprowadzonych danych.Czym to jest spowodowane? Nieprawidłową konwersją bazy danych? Czy da się ten problem ominąć bez dodatkowego zapytania, czy w skryptach dla MySQL 5 to raczej standard? A może lepiej postawić na UTF? |
|
|
|
Post
#69
|
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%)
|
Niedawno odkryłem cudowne rozwiązanie na wszelkie problemy związane z kodowaniem. Czasami zdarza się, że mimo wpisania wszystkich ustawień w plikach konfiguracyjnych nadal mamy krzaczki, ew. musimy przed każdym zapytaniem ustawiać CHARACTER SET. Ten wpis w my.ini załatwia większość problemów:
Kod skip-character-set-client-handshake
|
|
|
|
Post
#70
|
|
|
Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%)
|
Witam,
Odgrzewam temat bo mam spory problem, otóż, <span style="font-weight: bold;"><a href="http://pl.php.net/baza mysql z której eksportuje ma:character set client utf8character set connection utf8character set database utf8character set filesystem binarycharacter set results utf8character set server utf8character set system utf8character sets dir C:\Dev\MySQL\share\charsets\collation connection utf8_general_cicollation database utf8_general_cicollation server utf8_general_ci" title="Zobacz w manualu PHP" target="_manual">baza mysql z której eksportuje ma: 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:\Dev\MySQL\share\charsets\ collation connection utf8_general_ci collation database utf8_general_ci collation server utf8_general_ci</a></span> niby wszystko ok, tabele mają:
i nie zależnie od tego, z czego robie dump'a (mysqdump, phpmyadmin, mysql administrator) wali takimi o to krzakami:Aktualność , Treść, Nagłówek. Jak otworze plik dump.sql poprzez notatnik to widzę kodowanie pliku ładnie UTF-8. Dodam, że serwer http (po drodze żadnej konwersji nie ma) na localhoście wyświetla pięknie utf-8 bez krzaków. Tylko w dumpie są. Może jakieś koncepcje? pozdrawiam, patS P.S. Dodatkowa zagadka, poprawnie już mi się udało go wyeksportować, za pomocą komendy: C:\Dev\MySQL\bin>mysqldump.exe -u root -p --default-character-set=latin1 kig > c:\Dump.sql - plik otwieram w notepadzie - wskazuje utf-8 i nie ma żadnych krzaków 9poza ó. ha! sam sobie odpowiem, dla potomnych jakby ktoś kiedyś miał problem: 1. mysqldump.exe -u root -p --default-character-set=latin1 kig > c:\Dump.sql 2. w notatniku zamieniamy kodowanie z utf8 z sygnaturą na utf8 i dopisujemy set names 'latin2' 3. importujemy z phpmyadmina i wybieramy jako kodowanie pliku utf8 pzdr, patS Ten post edytował patrycjusz 8.10.2007, 11:38:07 |
|
|
|
![]() ![]() |
|
Aktualny czas: 8.12.2025 - 18:25 |