Ostatní témata (Off Topic témata) : phpRS Fórum
Máte problém s konfigurací počítače? Hledáte nejlepší webhosting pro vaši aplikaci? Nevíte si rady s nějakým zajímavým programátorským oříškem? Týká se dotaz fóra? ... Pokud ano, tak je toto diskuzní fórum určeno právě vám.
phpRS - redakční a informační systém
Migrace PHPRS na jiny server
Zaslán uživatelem/kou: karliak (IP adresa zaznamenána)
Datum: 2011-07-29, 14:05

Hoj,
jiz jednou jsem uspesne presunul (na testy) PHPRS 2.8.1 na jiny server, vse OK. Ale pri presunu na server, ktery ma nahrazovat stavajici "ostry", se me nedari vyresit spatne zobrazeni cestiny. Zkusebni server je "http://hepin.ajetaci.cz/", budouci ostry, kde mam problem s kodovanim je [http://hepin.fnhk.cz/] . Priznam se, dosly mi napady. Bezi mi to na opensuse 11.x, migroval jsem data mysqldumpem i jen drzym kopirovanim mysql souboru a opravou databaze, nic nepomohlo.
Myslel jsem ze nemam php5-mbstring na budoucim (postradani mi delalo taky problem s cestinou, na jinem serveru), ale je tam. Kde jsem mohl udelat chybu ?
Slova a vety, ktery jsem psal do zdrojaku (utf8), jsou spravne citelny. Zlobi ty, co jsou v DB.
Diky za tipy
J.Karliak.

Re: Migrace PHPRS na jiny server
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2011-07-29, 14:47

jaká verze MySQL je na tom zkušebním serveru a jaká verze je na tom ostrém serveru?

jak je nastaveno:
//--[kodovani stranek]------------------------------------------------
// nastaveni kodovani generovanych HTML stranek; ukazka moznych alternativ: windows-1250, iso-8859-2, UTF-8
$GLOBALS['rsconfig']['kodovani']="???";

a

//--[kodovani pro komunikaci se serverem]-----------------------------
// nastaveni kodovani pro komunikaci s MySQL serverem; plati pouze pro verzi MySQL server 4.1 a vyssi; v pripade nizsich verzi nema smysl pouzivat, protoze neexistuje podpora
/* ----- pro pouziti teto funkce smazte tento radek ----
switch(strtolower($GLOBALS['rsconfig']['kodovani'])):
// nastaveni probiha automaticky; v pripade nestandardniho nastaveni MySQL serveru nutno pripadne SQL prikazy upravit
case 'windows-1250': phprs_sql_query("SET NAMES 'cp1250'",$dbspojeni) or die('System nemuze nastavit kodovani cp1250! / Could not set names cp1250!'); break;
case 'iso-8859-2': phprs_sql_query("SET NAMES 'latin2'",$dbspojeni) or die('System nemuze nastavit kodovani latin2! / Could not set names latin2!'); break;
case 'utf-8': phprs_sql_query("SET NAMES 'utf8'",$dbspojeni) or die('System nemuze nastavit kodovani utf8! / Could not set names utf8!'); break;
endswitch;
----- pro pouziti teto funkce smazte tento radek ---- */

Re: Migrace PHPRS na jiny server
Zaslán uživatelem/kou: karliak (IP adresa zaznamenána)
Datum: 2011-07-29, 15:04

na novem je mysql server:
mysql-community-server-5.1.46-2.18.x86_64

na zkusebnim, kam jsem pro testy migroval bez problemu je:
mysql-5.1.36-20.1

Ostry server ma mysql (zde je opensuse 10.3):
mysql-5.0.45-22.9


Jinak web adresar phprs jsem jak TAR archiv kopiroval.

V konfigu mam kodovani nastaveny utf-8
$GLOBALS['rsconfig']['kodovani']="utf-8";

3 "case" radky starajici se o kodovani jsem mel zaremovany. Po odremovani to vsak je to same.

Podivam-li se myphpadminem do databaze, uz tam je text "divny" - napr:
"Systémový blok: Hlavní blok"

ale zase zobrazeni je OK. Jen kde je ta "BLBOST" ...

Diky moc.
J.K.

Re: Migrace PHPRS na jiny server
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2011-07-29, 16:31

ta blbost je nejspíš v tom, že ty tři řádky byla zaremovaný a s databází se komunikovalo v jiném kódování než UTF-8, a proto jsou ta data z databáze nesmyslná

Re: Migrace PHPRS na jiny server
Zaslán uživatelem/kou: karliak (IP adresa zaznamenána)
Datum: 2011-07-29, 16:58

Hmm, mozny to je, jen proc to najednou ted dela problemy ? Jinak tabulky se porovnavaji s "latin1_swedish_ci". Proc byly (mnou) zaremovany, cert vi.
Jeste me napada, ze na tom budoucim novym je mysql server community, ktera je original v susecku. Na ostatnich, kde je to OK, je pouze "mysqld"...Ale to se asi uz chytam stebla ...
Diky za pripadne dalsi nakopnuti spravnym smere a hlavne za cas a trpelivost.
J.K.

Re: Migrace PHPRS na jiny server
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-07-29, 17:18

S podobným problémom so sa stretol a príčina bola v tom, že data boli už do db uložené v inom kódovaní ako bolo deklarované. Následný export a import to úplne rozbil. Problém som čiastočne vyriešil prekódovaním SQL exportu pomocou ICONV, ale ostali problémy so znakom ň, miesto neho sa zobrazoval otaznik, nakoniec som tento znak nahradil ručne na asi 50 miestach :-/

Info: [http://php.vrana.cz/prevod-kodovani-mysql.php]




Celkem upraveno 1×. Poslední úprava pa3k v 29.07.2011 17:20.

Re: Migrace PHPRS na jiny server
Zaslán uživatelem/kou: karliak (IP adresa zaznamenána)
Datum: 2011-07-29, 19:48

Hoj, diky za tip, povedlo se. Zajimalo by me, kde vznikla chyba, ze je to kodovany jinak nez to bylo definovany. Pouzil jsem prikaz co jsi mi dal link na vranu, jen jsem si dovolil rozsirit overeni ze mame vse (login a heslo pro databazi a rovnou jsem si tam napsal jmeno databaze). Zde je to:
#!/usr/bin/php5
<?php
if ($argc != 3 || !mysql_connect('localhost','logindb',heslodb') || !mysql_select_db("databazers")) {
exit("Usage: php $argv[0] db collation\n");
}
$collation = $argv[2];



function mysql_convert($query) {
//~ echo "$query;\n";
$return = mysql_query($query);
echo mysql_error();
return $return;
}

mysql_convert("ALTER DATABASE $argv[1] COLLATE $collation");
$result = mysql_query("SHOW TABLES");
while ($row = mysql_fetch_row($result)) {
mysql_convert("ALTER TABLE $row[0] COLLATE $collation");
$result1 = mysql_query("SHOW COLUMNS FROM $row[0]");
while ($row1 = mysql_fetch_assoc($result1)) {
if (preg_match('~char|text|enum|set~', $row1["Type"])) {
mysql_convert("ALTER TABLE $row[0] MODIFY $row1[Field] $row1[Type] CHARACTER SET binary");
mysql_convert("ALTER TABLE $row[0] MODIFY $row1[Field] $row1[Type] COLLATE $collation" . ($row1["Null"] ? "" : " NOT NULL") . ($row1["Default"] && $row1["Default"] != "NULL" ? " DEFAULT '$row1[Default]'" : ""));
}
}
}
mysql_free_result($result);
?>


Bud to bylo ono nebo se to nejak samo opravilo :D. Ale pochybuju o samoopraveni :)

Prosbicka - zobrazuje se to i vam dobre ?

[http://hepin.fnhk.cz/]

Diky moc, at se dari a zadny problemisti jako ja :)

Re: Migrace PHPRS na jiny server
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-07-29, 20:16

Vyzera to OK, nezabudni zaplatat, mas deravy search.php [http://www.phprs.net/forum/read.php?5,37473]

Re: Migrace PHPRS na jiny server
Zaslán uživatelem/kou: karliak (IP adresa zaznamenána)
Datum: 2011-07-29, 20:49

Jj, ten aktualni www.hepin.cz jsem dneska odpoledne opravil, kdyz jsem to tu videl na foru, ostatni jsou jeste "deravy", do nich jsem se radsi jeste prave pustil, kdyz se o tech serverech zde mluvi, aby nekdo nemel pokuseni :).
Diky a zatim.
J.K.



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.