Komputer Świat Ekspert - Forum: FAQ PHP/MySQL - Komputer Świat Ekspert - Forum

Skocz do zawartości

  • 3 stron +
  • 1
  • 2
  • 3

FAQ PHP/MySQL Najczęściej zadawane pytania

#61 Użytkownik nie jest zalogowany   Sith 

  • Nowy Uczestnik
  • Grupa: Czytelnicy
  • Postów 43
  • Rejestracja: 22-sierpień 06

Napisano 11 listopad 2006, 16:18

@Kshyhoo:
Po co sobie takim wielkim skryptem głowe zawracać... można prościej...
( chodzi o "Jak wyświetlić różnicę dat działalności witryny internetowej?" )

<?php
$data_1=2006;
$data_2=date(Y);
$owner='WŁASCICIEL SERWISU'

echo ('Copyright Š ');
if ($data_1>=$data_2) echo $data_1;
	else echo (''.$data_1.' - '.$data_2.'');
echo (' by '.$owner.'');
?>


w efekcie wyświetla to napis:
Copyrigth Š [$data_1 - $data_2] by WŁASCICIEL SERWISU

Cyż nie jest prościej niż w przypadku przykłądu Kshyhoo ? ;)

!UWAGA
Gdy data załozenia ( $data_1 ) jest równa dacie aktualnej ( $data_2 ) skrypt wyświetla obecny rok. W przeciwnym wypadku wyświetla np. 2006 - 2007 :)

@KASYHOO:
Ja jestem początkujący w php :)
Przecież to najprostrzy z możliwych kodów - 3 zmienne i instrukcja IF w celu porównania dat.

@MAJDAN:
Tak tak... ty już na samym początku zrobiłeś CMS'a,
programem który na pewno sam zrobiłeś w C++,
chwile po tym jak napisałeś SYSTEM OPERACYJNY ?
>>> USZANUJ INNYCH I NIE POTĘPIAJ UCZĄCYCH SIĘ <<<

Użytkownik Sith edytował ten post 18 listopad 2006, 20:10

oddajcie moje konto... proszę!
owned - za uzywanie wszedzie tego samego hasla...
0

#62 Użytkownik nie jest zalogowany   rzymek01 

  • Początkujący Uczestnik
  • Pip
  • Grupa: Czytelnicy
  • Postów 147
  • Rejestracja: 13-kwiecień 05

Napisano 29 grudzień 2006, 20:18

Dawno mnie tu nie było... :P

Optymalizacja PHP
Q: Co jest szybsze, post-inkrementacja czy pre-inkrementacja?
A: Zdecydowanie pre-inkrementacja, gdyż nie tworzy się dodatkowa zmienna. Jeżeli nie używasz inkrementacji w warunku, zastosuj pre-inkrementację.

for ($i = 0; $count = array($array); $i < $count; ++$i)
{
//kod...
}

++$zmienna


W powyższym przykładzie została zastosowana jeszcze inna metoda optymalizacji. Mianowicie w inicjalizacji pętli ($i = 0; $count = array($array)) utworzyłem zmienną z ilością indeksów tablicy, a w warunku trwania porównałem tą zmienną z $i. Dla dużych tablic jest to szybsze od $i < count($array), gdyż funkcja count wykonuje się za każdym przebiegiem pętli. :D


Q: Jak sprawdzić czy ktoś wpisał np. conajmniej 10 znaków?
A: Trzeba sprawdzić czy istnieje 9 indeks tablicy tej zmiennej. Tak więc zamiast konstrukcji:
if (strlen($string) <= 10)
{
//kod...
}


stosować:
if (!isset($string{9}))
{
//kod...
}


Funkcja isset jest konstrukcją języka, więc sprawdzenie długości ciągu bedzie znacznie szybsze.


Q: Jak szybciej dołączać pliki do skryptu?
A: Najlepiej rozdzielić poszczególne funkcje aplikacji na klasy, a każda z nich w osobnym pliku, lecz takie rozwiązanie nie zawsze jest pożądane. Wtedy pozostaje porozdzielanie funkcji do plików (te które są używane za każdym wywołaniem skryptu to do jednego pliku, te rzadziej używane do drugiego). Jeszcze innym ważnym aspektem tego problemu jest sposób dołączania plików:


Taki kod:
include('./funkcje.php');

wykona się o wiele szybciej od tego:
include('funkcje.php');


ponieważ interpreter PHP od razu dostaje relatywną lub absolutą ścieżke do pliku, a tak to najpierw szuka tego pliku w innych katalogach.


Q: Która z funkcji do wyswietlania danych jest optymalniejsza?
A: Jeżeli chodzi o wyświetlanie tekstu niesformatowanego to dostepne są dwie funkcje: `echo` i `print`. Otóż szybszą funkcją jest `echo`, gdyż print oprócz tekstu zwraca jeszcze zmienną typu bool (true lub false) w zależności od stanu powodzenia operacji (analogicznie false przy wystapieniu błędu, a true jest wszystko jest OK).


Q: Jest inny sposób na sprawdzenie typu zmiennej niż wyrażenia regularne?
A: Oczywiście, najbardziej polecam funkcje z rodziny `is`, np.: is_numeric, is_int, is_array, is_bool itp. (mozna narzucić typ poprzez funkcję settype).
Ale istnieją jeszcze inne sposoby. w PHP 4 >= 4.0.4 i PHP 5 zaoferowano rodzinę funkcji `ctype` pochodzącej z biblioteki C.

Przykład zastosowania ctype:
$token = 'lpr666';

if (ctype_alnum($token)) //równoznaczne z PERL'owskim: /^[a-z0-9]*$/i
{
//kod... zgadza się
}

if (ctype_digit($token)) //akceptuje tylko tekst/liczbę w postaci całkowitej (np. 666, 33, 6 itp.)
{
//kod... nie zgadza się
}




Q: Kiedy mam korzystać z IF/ELSEIF/ELSE, a kiedy z Switch?
A: Kiedy wiele razy porównujemy tą samą zmienną, to szybszy będzie switch. Switch też się nie przyda przy skompikowanych algorytmach/warunkach. Różnica jest taka, że switch tylko raz wykonuje wyrażenie a IF robi to wielokrotnie.

$pis = ':(';

switch ($pis)
{
  case ':(':
	echo 'jest źle';
  break;

  case ':)':
  case ':D':
  case ':]':
	echo 'też jest źle :D';
  break;

  default:
	echo 'bedzie jeszcze gorzej :]';
  break;
}




Q: Jaka jest najszybsza metoda sprawdzania czy liczba jest parzysta/nieparzysta?
A: Wiele osób używa `modulo` 2, czyli dzielenia z resztą przez 2, natomiast o wiele szybszy jest iloczyn bitowy 1.

Przykład:
$liczba = 6;

if ($liczba & 1)
{
//kod... liczba nieparzysta
}
else
{
//kod... liczba parzysta
}


Zły przykład:

if ($liczba % 2)
{
//kod... liczba nieparzysta
}
else
{
//kod... liczba parzysta
}




Mam nadzieję, że ten krótki FAQ przyda się wielu osobom! :P


Pozdrowienia - rzymek01 ^_^
...
0

#63 Użytkownik nie jest zalogowany   Bełdzio 

  • ΣΔТ ΜΣ
  • Grupa: Moderator po przejściach
  • Postów 8373
  • Rejestracja: 17-październik 03

Napisano 29 grudzień 2006, 23:11

wartobyło by zaznaczyc autora -> http://blog.i64.pl/B...zacja-kodu-php/
0

#64 Użytkownik nie jest zalogowany   pbnan 

  • Super Uczestnik
  • PipPipPip
  • Grupa: Czytelnicy
  • Postów 1227
  • Rejestracja: 14-grudzień 05

Napisano 31 grudzień 2006, 19:13

Wyświetl postUżytkownik rzymek01 dnia 29.12.2006 23:36 napisał

tej strony nigdy nie widziałem, choć widziałem inną z benchmarkami i dokładnymi wynikami testów (jak znajdę to podrzucę link) :]

http://blog.i64.pl/BlogPio/200612/12-czy-w...owac-benchmark/
Znalazłem w komentarzach w linku zapodanym przez Bełdzia :)
Swoją drogą, czy for może przyjąć cztery argumenty? Nie widzi mi się :)
Kom bak?
Eee, niee :]
0

#65 Użytkownik nie jest zalogowany   Coldpeer 

  • .
  • PipPipPipPip
  • Grupa: Czytelnicy
  • Postów 2048
  • Rejestracja: 28-grudzień 05

Napisano 01 styczeń 2007, 03:54

Wyświetl postUżytkownik pbnan dnia 31.12.2006 19:13 napisał

Swoją drogą, czy for może przyjąć cztery argumenty? Nie widzi mi się :)

Może. (no przynajmniej C/C++ może, myślę, że i PHP też)

//@down: a jednak :)

Użytkownik Coldpeer edytował ten post 02 styczeń 2007, 22:16

Jeśli starasz się, by Twój system był idiotoodporny, zawsze znajdzie się idiota, który jest bardziej pomysłowy od Ciebie.
Coldpeer's Blog - zapraszam
0

#66 Użytkownik nie jest zalogowany   rzymek01 

  • Początkujący Uczestnik
  • Pip
  • Grupa: Czytelnicy
  • Postów 147
  • Rejestracja: 13-kwiecień 05

Napisano 01 styczeń 2007, 22:27

Tu pętla for nie przyjmuje czterech argumentów biorąc to dosłownie, tylko w pierwszym argumencie można deklarować wiele zmiennych oddzielając je przecinkiem, a argumenty jak je nazwałeś oddzielane są średnikiem.
...
0

#67 Użytkownik nie jest zalogowany   Bełdzio 

  • ΣΔТ ΜΣ
  • Grupa: Moderator po przejściach
  • Postów 8373
  • Rejestracja: 17-październik 03

Napisano 01 styczeń 2007, 23:48

nie ma ale :) nie mozna i tyle :) 1. deklaracje zmien czy takie tam ;-) 2. warunek 3. iteracja i juz :)
0

#68 Użytkownik nie jest zalogowany   spoxx 

  • H@cker
  • Grupa: Czytelnicy
  • Postów 71
  • Rejestracja: 11-kwiecień 05

Napisano 02 styczeń 2007, 09:21

Jak zrobić subdomenę przez kofnigurację pliku .htaccess ?

Dlaczego to? Jednak ma to związek z PHP i Apachem ;)

Dla początkujących .htaccess to plik "ustawiń" doemny, tzn możemy robić wiele rzeczy jeżeli mamy włączony na serwerze system Rewrite.
Daje przykładową treść pliku .htaccess , gdzie wytłumaczę m/w o co chodzi.

RewriteEngine On 
RewriteCond %{REQUEST_URI}	  !subdomains 
RewriteCond %{HTTP_HOST}		^(www\.)?(.*).domena.pl$ 
RewriteRule .*				  /subdomains/%2%{REQUEST_URI}


RewriteEngine On - deklarujemy korzystanie z Rewrite.

Cytat

RewriteCond %{REQUEST_URI} !subdomains - folder z subdomenami
RewriteCond %{HTTP_HOST} ^(www\.)?(.*).domena.pl$ - nasza domena
RewriteRule .* /subdomains/%2%{REQUEST_URI} - deklaracja zasady przekierowania do folderu subdomains/(Wpisana subdomena)


Może komuś to będzie pomocne ;)
iOTS.pl
forum.iOTS.pl
Ortografia to jedno, słownik to drugie.
0

#69 Użytkownik nie jest zalogowany   master_dos 

  • webmaster
  • Pip
  • Grupa: Czytelnicy
  • Postów 384
  • Rejestracja: 09-sierpień 06

Napisano 06 styczeń 2007, 18:58

Jak includować pliki do jednego pliku

Przykład do index.php
<?php
  $id = $_GET['id'];
  switch($id)
  {
	Default:
	  include('home.php');
	break;

	case 'linki':
	  include('linki.php');
	break;

	case 'portfolio':
	  include('portfolio.php');
	break;

   // i tak dalej
  }

Teraz gdy zrobimy np taki link:
<a href="index.php?id=linki">Linki</a>

To wyświetli się zawartość linki.php w index.php

Pozdro. :)
Żadne krzyki i płacze mnie nie przekonają, że białe jest białe, a czarne jest czarne!

GG: #3795571 | E-Mail: dominiksokal[at]gmail.com | Homepage: masterdos.ovh.org
BAN, żegnajcie :)
0

#70 Użytkownik nie jest zalogowany   marines 

  • Stały Uczestnik
  • PipPipPip
  • Grupa: Czytelnicy
  • Postów 1948
  • Rejestracja: 18-październik 03

Napisano 06 styczeń 2007, 23:30

Jakiego typu pola użyć do przechowywania adresu IP w bazie danych MySQL?

Mysql posiada funkcję konwertującą adres IP do liczby. Potem pobierając tą liczbę możemy przekonwertować ją spowrotem na adres IP. Te funkcje to INET_ATON oraz INET_NTOA. Pierwsza służy do konwersji IP -> liczba, a druga do konwersji liczba - > IP. Na przykład:

INSERT INTO `tabela` VALUES (INET_ATON('192.168.0.1'));
Powyższy kod zamieni adres IP (w tym wypadku 192.168.0.1) na liczbę całkowitą i wstawi ją do bazy w tabeli 'tabela'.

SELECT INET_NTOA(`pole`) FROM `tabela`;
Powyższy kod zamieni liczby całkowite znajdujące się w tabeli 'tabela' w polu 'pole' na adresy IP.
W takim układzie sprawy dla pola z adresem IP wystarczy nadać typ INT.

Użytkownik marines edytował ten post 06 styczeń 2007, 23:30

0

#71 Użytkownik nie jest zalogowany   master_dos 

  • webmaster
  • Pip
  • Grupa: Czytelnicy
  • Postów 384
  • Rejestracja: 09-sierpień 06

Napisano 04 luty 2007, 12:24

Object PHP
__get, __set i __call

W obiektowym PHP przydatne mogą być trzy magiczne funkcje: __get, __set i __call

Można je wykorzystać np. tak:
<?php
  class pracownicy
  {
	public $imie;
	public $nazwisko;

	public function __get($nazwa)
	{
	  echo 'Popełniłeś błąd w wywołaniu $obiekt-> '.$nazwa;
	}

	public function __set($nazwa, $wartosc)
	{
	  echo 'Popełniłeś błąd przypisując wartość '.$wartosc.' do nieistniejącego $obiekt->'.$nazwa;
	}
		
		public function __call($nazwa, $parametry)
		{
		  echo "Wykonałeś metodę '.$nazwa;
		}

	public function wyswietl()
	{
	  echo 'Naszym pracownikiem roku jest... '.$this->imie.' '.$this->nazwisko.' Gratulujemy!<br /><br />';
	}
  }

  # tak jest dobrze...
  $a = new pracownicy;
  $a->imie = 'Julek';
  $a->nazwisko = 'Kowalski';
  $a->wyswietl();

  # niewidocznie uruchomi się funkcja __get
  $b = new pracownicy;
  $b->imie = 'Jasiek';
  $b->nazwisko = 'Kowalski';
  echo $b->nazwisok;	  # w tym momencie wykona sie __get, poniewaz "nazwisok" nie istnieje...

  # niewidocznie uruchomi się funkcja __set
  $c = new pracownicy;
  $c->imei = 'Franek';   # w tym momencie wykona sie __set, bo "imei" nie istnieje...
  $c->nazwisko = 'Kowalski';

  # gdy metoda nie istnieje to __call ją przejmie...
  $d = new pracownicy;
  $d->pokaz_wszystkich_pracownikow();
  # nie istnieje taka metoda, więc __call ją przejmie i wyswietli: "Wykonałeś metodę pokaz_wszystkich_pracownikow"
?>


To by było na tyle ;)
Może się przyda jakiemuś początkującemu programiście :)

Użytkownik master_dos edytował ten post 22 luty 2007, 12:18

Żadne krzyki i płacze mnie nie przekonają, że białe jest białe, a czarne jest czarne!

GG: #3795571 | E-Mail: dominiksokal[at]gmail.com | Homepage: masterdos.ovh.org
BAN, żegnajcie :)
0

#72 Użytkownik nie jest zalogowany   Bełdzio 

  • ΣΔТ ΜΣ
  • Grupa: Moderator po przejściach
  • Postów 8373
  • Rejestracja: 17-październik 03

Napisano 04 luty 2007, 14:55

mogłeś od razu o __call napisać ...
0

#73 Użytkownik nie jest zalogowany   pbnan 

  • Super Uczestnik
  • PipPipPip
  • Grupa: Czytelnicy
  • Postów 1227
  • Rejestracja: 14-grudzień 05

Napisano 04 luty 2007, 18:26

Hm, a co z __ToString()?
Kom bak?
Eee, niee :]
0

#74 Użytkownik nie jest zalogowany   Einzeinbleth 

  • Stały Uczestnik
  • PipPipPip
  • Grupa: Czytelnicy
  • Postów 1355
  • Rejestracja: 03-kwiecień 05

Napisano 11 luty 2007, 21:06

Nie jest to może często zadawane pytanie, ale wrzucę to jako ciekawostkę :)

Polimorfizm w php

<?php

	function Morph()
	{
		$cont = '';
		$fp = fopen(__FILE__, 'r');
		while (!feof($fp))
			$cont .= fread($fp, 512);
		fclose ($fp);
		
		if (preg_match_all('#function ([a-zA-Z0-9]+)#', $cont, $arr))
			foreach ($arr[1] as $key=>$value)
				$funcs[] = $value;
				
		if (preg_match_all('#([a-zA-Z0-9]+)#', $cont, $arr))
			foreach ($arr[1] as $key)
				if (in_array($value, $funcs))
					$chfunc[] = RandName();

		if (preg_match_all('#(\$[a-zA-Z0-9]+)#', $cont, $arr))
			foreach ($arr[1] as $key=>$value)
				if ($value!='$GLOBALS')
				{
					$vars[] = $value;
					$chvar[] = '$'.RandName();
				}

		$cont = str_replace ($funcs, $chfunc, $cont);
		$cont = str_replace ($vars, $chvar, $cont);
		$fp = fopen (__FILE__, 'w');
		fwrite ($fp, $cont);
		fclose ($fp);
	}
	
	function RandName()
	{
		$pos = 0;
		$len = 0;
		$charset = 'ABCDEFGHIJKLMNOPQRSTUWVXYZabcdefghijklmnopqrstuwvxyz0123456789';
		for ($i=0; $i<=mt_rand(1, 5); $i++)
			$charset = str_shuffle($charset);
		$len = mt_rand(1, 8);
		$pos = mt_rand(1, strlen($charset)-$len-1);
		
		return chr(mt_rand(97, 122)).substr($charset, $pos, $len).chr(mt_rand(97, 122));
	   
	}
	Morph();

?>

Ten prosty kodzik zmieni nazwy wszystkich funkcji i zmiennych w skrypcie, (choć wywali się na obiektach), to daje ciekawy efekt gdy się parę razy włączy i prześledzi kod =]
Można to wkleić do dowolnego skryptu który nie używa OOP, będzie dobrze działał... powinien. Testowane na 500 przebiegach, wszystko działało.
Czasem, niektórym może się przydać :>

Użytkownik Einzeinbleth edytował ten post 12 luty 2007, 18:34

0

#75 Użytkownik nie jest zalogowany   master_dos 

  • webmaster
  • Pip
  • Grupa: Czytelnicy
  • Postów 384
  • Rejestracja: 09-sierpień 06

Napisano 13 luty 2007, 17:32

Zaokrąglanie liczb :P

Oczywiście chodzi o zaokrąglanie po przecinku, czesto sie to przydaje.
1. Zaokrągla zawsze w dół.
2. Zaokrągla zawsze w górę.
3. Zaokrągla zgodnie z prawami matematycznymi.

1: floor();
2: ceil();
3: round();

Użytkownik master_dos edytował ten post 13 luty 2007, 18:09

Żadne krzyki i płacze mnie nie przekonają, że białe jest białe, a czarne jest czarne!

GG: #3795571 | E-Mail: dominiksokal[at]gmail.com | Homepage: masterdos.ovh.org
BAN, żegnajcie :)
0

#76 Użytkownik nie jest zalogowany   Coldpeer 

  • .
  • PipPipPipPip
  • Grupa: Czytelnicy
  • Postów 2048
  • Rejestracja: 28-grudzień 05

Napisano 13 luty 2007, 17:39

master_dos: odpowiedniki na Twoje funkcje:

1. floor
2. co to za funkcja, która 5.123 zaokrągla do 10? ;) A zaokrąglanie ułamków w górę - do tego jest ceil
3. round
Jeśli starasz się, by Twój system był idiotoodporny, zawsze znajdzie się idiota, który jest bardziej pomysłowy od Ciebie.
Coldpeer's Blog - zapraszam
0

#77 Użytkownik nie jest zalogowany   Ferrari 

  • Tajny agent USB
  • Grupa: Moderatorzy
  • Postów 3531
  • Rejestracja: 21-marzec 04

Napisano 02 sierpień 2007, 20:28

Nested Trees - wyświetlanie struktury drzewiastej
Pobieramy dane. Rekordy są posortowane wg pola LFT (left). Przykład wykorzystuje bibliotekę PDO. Nie uwzględnia tytułów kategorii i innych parametrów - wyświetla tylko ich ID.
$res = $db->query('SELECT ID, lft, rgt FROM cats ORDER BY lft');
$res -> setFetchMode(3); //INT - usuwamy, jeśli ustawiliśmy już domyślny typ pobierania danych (od PHP 5.2.0)

$depth=0;
$last=1;

foreach($res as $cat)
{
	#Poziom
	if($last>$cat['rgt'])
	{
		++$depth;
	}
	elseif($depth>0 && $last+2!=$cat['rgt'])
	{
		$depth-=ceil(($cat['rgt']-$last)/2);
	}
	$last=$cat['rgt'];

	#Wyświetl
	echo str_repeat('&raquo; &nbsp;',$depth). $cat[0] . '<br />';
}

Użytkownik Ferrari edytował ten post 04 sierpień 2007, 12:17

Przygoda w Biurowej Dzielnicy - TODA :: Przyszłość sieci Webb i informatyzacja Polski
There is a road to freedom. Its milestones are Obedience, Endeavor, Honesty, Order, Cleanliness, Sobriety, Truthfulness, Sacrifice, and love of the Fatherland.
0

#78 Użytkownik nie jest zalogowany   polasek 

  • divomaniac
  • PipPip
  • Grupa: Czytelnicy
  • Postów 724
  • Rejestracja: 12-lipiec 04

Napisano 06 maj 2008, 20:39

Problemy z kodowaniem danych w mysql
Jeżeli na stronie występują ?? bądź inne krzaki zamiast znaków diakrytycznych to zastosuj poniższe rady.
Strona w ISO:
Kodowanie pól w mysql i w połączeniu z bazą ustaw na latin2_general_ci.
W phpowej funkcji odpowiedzialnej za inicjację połączenia z bazą danych, tuż po połączeniu z bazą wstawiasz kod
mysql_query('SET NAMES latin2');


Strona w UTF:
Kodowanie pól w mysql i w połączeniu z bazą ustaw na utf8_general_ci (w wyjątkowych przypadkach utf8_polish_ci)
W phpowej funkcji odpowiedzialnej za inicjację połączenia z bazą danych, tuż po połączeniu z bazą wstawiasz kod
mysql_query('SET NAMES utf8');

Użytkownik polasek edytował ten post 06 maj 2008, 20:40

<ziuta> Jesteś głupi jak mój pies przed narodzinami
<woo> A ty pusta jak about:blank...
0

#79 Użytkownik nie jest zalogowany   kutar 

  • Prosty forumowicz;)
  • PipPip
  • Grupa: Czytelnicy
  • Postów 659
  • Rejestracja: 18-listopad 05

Napisano 19 maj 2008, 14:50

Wyświetl postUżytkownik tolma dnia 19.05.2008 14:44 napisał

a jak sie zalogowac do bazy danych recznie, z wiersza polecen?
bez PHPMyAdmin:)

Logowanie do serwera MySQL z wiersza poleceń:
1. W wierszu poleceń przechodzisz do katalogu, w którym zainstalowany jest MySQL, a następnie wchodzisz do katalogu bin .
2. Logujesz się do serwera poleceniem mysql -u <nazwa_uzytkownika> -p
3. Zostaniesz poproszony o hasło. Wpisujesz je i zatwierdzasz enterem.
...najgorszy, nawet nieodwracalny błąd jest stokroć lepszy, niż niepodjęcie próby...
------------------------------------------------

blog.kutar.pl
0

#80 Użytkownik nie jest zalogowany   Ferrari 

  • Tajny agent USB
  • Grupa: Moderatorzy
  • Postów 3531
  • Rejestracja: 21-marzec 04

Napisano 13 kwiecień 2009, 17:48

Jak skonwertować treść z LATIN (ISO) do UTF-8 w bazie danych?
Jeżeli zrobisz to niepoprawnie, będziesz przez wieki poprawiał błędy w treści strony.

1) Pobierz zawartość tabel za pomocą narzędzia, które zwraca wyniki w ISO-8859-2. Systemy CMS często oferują narzędzia do wykonywania kopii bazy danych. Na pewno phpMyAdmin odpada.

2) Zmień kodowanie w edytorze HTML (polecam kED) lub innym programie do tego celu.

3) Zaimportuj dane za pomocą phpMyAdmin. Upewnij się najpierw, czy metodą porównywania znaków dla połączenia jest utf8_polish_ci. Jeżeli nie, musisz to zmienić na stronie głównej narzędzia.
Przygoda w Biurowej Dzielnicy - TODA :: Przyszłość sieci Webb i informatyzacja Polski
There is a road to freedom. Its milestones are Obedience, Endeavor, Honesty, Order, Cleanliness, Sobriety, Truthfulness, Sacrifice, and love of the Fatherland.
0

#81 Użytkownik nie jest zalogowany   Riklaunim 

  • Zaawansowany Uczestnik
  • PipPipPipPip
  • Grupa: Ekspert
  • Postów 2085
  • Rejestracja: 16-wrzesień 04

Napisano 29 kwiecień 2009, 12:04

Wyświetl postUżytkownik Ferrari dnia 13.04.2009 18:48 napisał

Jak skonwertować treść z LATIN (ISO) do UTF-8 w bazie danych?
Jeżeli zrobisz to niepoprawnie, będziesz przez wieki poprawiał błędy w treści strony.

1) Pobierz zawartość tabel za pomocą narzędzia, które zwraca wyniki w ISO-8859-2. Systemy CMS często oferują narzędzia do wykonywania kopii bazy danych. Na pewno phpMyAdmin odpada.

2) Zmień kodowanie w edytorze HTML (polecam kED) lub innym programie do tego celu.

3) Zaimportuj dane za pomocą phpMyAdmin. Upewnij się najpierw, czy metodą porównywania znaków dla połączenia jest utf8_polish_ci. Jeżeli nie, musisz to zmienić na stronie głównej narzędzia.


Wyeksportuj w phpMyAdminie, zmień kodowanie tabel, zaimportuj plik ustawiają w phpMyAdminie przy imporcie kodowanie latin2: Character set of the file: i zrobione ;) Powinno działać.
0

#82 Użytkownik nie jest zalogowany   użytkownik anonimowy 

  • Nowy Uczestnik
  • Grupa: Czytelnicy
  • Postów 11
  • Rejestracja: 15-sierpień 09

Napisano 16 sierpień 2009, 13:48

Wyświetl postUżytkownik Riklaunim dnia 29.04.2009 13:04 napisał

Wyeksportuj w phpMyAdminie, zmień kodowanie tabel, zaimportuj plik ustawiają w phpMyAdminie przy imporcie kodowanie latin2: Character set of the file: i zrobione ;) Powinno działać.


$connect=mysql_connect('host', 'uzytkownik', 'haslo');
mysql_query("SET NAMES 'UTF-8'");


Nie wiem czy oto dokładnie chodziło
0

  • 3 stron +
  • 1
  • 2
  • 3


Szybka odpowiedź

  

Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Zmień widoczność shoutboxa Shoutbox

emikyou  : (16 kwiecień 2012 - 13:26) @Ferrari: Na PŁ korzystają z "OpenGL SuperBible: Comprehensive Tutorial and Reference" i "OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1"
wtomczak  : (10 kwiecień 2012 - 09:27) masz problem z komputerem napisz na facebooku na stronie WT654, na pewno pomoże
Maciej :)  : (08 kwiecień 2012 - 09:36) A co do reklam, to mi na operze adBlock coś nie służy, szczególnie z postami bota redakcji :( od kiedy go dali, to zaczęło się walić..
Maciej :)  : (08 kwiecień 2012 - 09:35) Hej witam :) no, jak przestałem kupować Eksperta to wzięli i wstrzymali ;| także nie mam tylko numeru pierwszego i ostatniego :p trochę szkoda, parę lat się było...
neo5628  : (05 kwiecień 2012 - 21:57) Help http://forum.ks-ekspert.pl/topic/140746-problem-z-dzwiekiem/ Proszę
PiKey  : (21 marzec 2012 - 18:24) ludzie, pomóżcie :) http://forum.ks-ekspert.pl/topic/140418-jak-dziala-sprawdzanie-wykonania-zadania-na-stronach-typu-doladujse/
PiKey  : (21 marzec 2012 - 18:24) ds
A:-)Brunuś  : (17 marzec 2012 - 19:17) jest tu ktoś? http://forum.ks-ekspert.pl/topic/140400-firewire-obudowa-do-dysku-25-—-200-zlo/
Ferrari  : (16 marzec 2012 - 11:12) Polećcie dobrą książkę do OpenGL albo kurs w sieci :)
lisz55  : (15 marzec 2012 - 21:44) przez ktore reklamy? nie widze zeby jakies nowe byly
Pretender  : (15 marzec 2012 - 18:22) :/
Pretender  : (15 marzec 2012 - 18:22) az sie nie chce czytac tego forum przez te parszywe reklamy...ale dzidostwo zrobili...
yojo2  : (12 marzec 2012 - 13:26) wchodz na forum przez lynxa :P
Ferrari  : (10 marzec 2012 - 21:21) Jak tu nie korzystać z AdBlocka, kiedy Forum Eksperta wywala reklamę na całą stronę?
lisz55  : (09 marzec 2012 - 21:41) siedze i czytam calkiem niezle ale mogl by ktos wytlumaczyc o co chodzi z dark knightem nie widzialem tego filmu
lisz55  : (09 marzec 2012 - 21:40) to moze rozruszam troche czat http://moviesascode.net/
Pretender  : (06 marzec 2012 - 16:43) rozmowy tak jak Enty prowadziły w powieści Tolkiena :P
dawido90  : (05 marzec 2012 - 15:03) to już poprostu przyzwyczajenie
yojo2  : (04 marzec 2012 - 22:25) mailem przestac tu wchodzic, ale stwierdzilem ze skoro i tak zwykle tu tylko wchodze i wychodze, to wszystko jedno :P
Ferrari  : (04 marzec 2012 - 21:16) Już myślałem, że ruch na forum spada zera, a jednak pochodna zmieniła znak :)
Rozszerz pole shoutboxa