Starý LAMP na novém stroji

Re: Starý LAMP na novém stroji
« Odpověď #15 kdy: 27. 07. 2011, 22:52:58 »
Jdu do toho. Narvu tam SET_NAMES a když mi to zabere, pošlu jim to na ten "starý" stroj na vyzkoušení. Pak bych to předělal celé (pokud ten starý vezme SET_NAMES bez námitek). Samotného mě to zajímá, zítra na to vlítnu a dám vědět. Pohoda, hezký den.

Stejně mi to ale připadá nesystémové:( Když mě pořád něco našeptává, že to "SET_NAMES" by se nějak mělo dát vědět MySQL jednou pro vždy.


Re: Starý LAMP na novém stroji
« Odpověď #16 kdy: 27. 07. 2011, 23:27:43 »
Zkoušel jsem si databázi otevřít v konzoli latin2 i UTF-8, ale výpis tabulky mi vždycky vrátil paskvil.

Logik

  • *****
  • 1 047
    • Zobrazit profil
    • E-mail
Re: Starý LAMP na novém stroji
« Odpověď #17 kdy: 28. 07. 2011, 02:34:19 »
Nevím, jestli to platí furt, ale od určitý verze phpko natvrdo při startu nastavilo character set na utf8. Takže pravděpodobně se tomu set names nevyhneš. U všech ostatních knihoven to jde v my.cnf, jen u php ne (teda jestli se něco nezměnilo).


alfi

  • ****
  • 338
    • Zobrazit profil
    • E-mail
Re: Starý LAMP na novém stroji
« Odpověď #18 kdy: 28. 07. 2011, 12:00:50 »
Alfi: I já bych to tak řešil. O tom však nerozhoduji já a ti, kteří to provozují, se rozhodli mít to na tom starém "stroji". (Tedy fyzicky na novém, ale protože to s Linuxem moc neznají, šli cestou nejmenšího odporu a virtuálně tam dali ten starý Slackware a všecko tam přenesli a běží to).

A já si zase na svém malém a pomalém PC nemohu dovolit nějakou virtuálku se starým Slackem. Tož jsem to nasadil na aktuální LAMP zde a nedovedu odstranit popsanou chybu.
to se pak radí těžko.. když už to provozujou virtuálně - co tak jim dodat nový virtuální image, který bude dělat totéž a bude fungovat na aktuálních verzích? :-)
a nebo si někde aspoň na chvíli půjčit virtuální stroj pro ladění.. dneska už to stojí stokoruny.

jinak s kódováním v php a mysql jsem při přechodu mezi verzemi taky zápasil (teď už nevím, jestli mezi mysql 3.x a 4x. nebo 4.x a 5.x), celkem spolehlivě to řeší

set names 'latin2'; (pro kompatibilitu se starou mysql)
nebo
set character set 'utf8'; (pro korektní kódování u nových instalací)

ale musí to být ve všech skriptech, které se připojujou. a netuším, co to udělá na té původní mysql..

anonym

Re: Starý LAMP na novém stroji
« Odpověď #19 kdy: 28. 07. 2011, 12:23:05 »
Pokud hodláte upravovat scripty, tak po připojení na db použijte funkci mysql-set-charset viz. http://www.php.net/manual/en/function.mysql-set-charset.php (podmínka je php 5), je to lepší než nastavovat SET NAMES v mysql_query


alfi

  • ****
  • 338
    • Zobrazit profil
    • E-mail
Re: Starý LAMP na novém stroji
« Odpověď #20 kdy: 28. 07. 2011, 12:52:43 »
... (podmínka je php 5)
a přesně to bude jedna z věcí, která na původním systému nebude fungovat kvůli zastaralé verzi php..

Kit

Re: Starý LAMP na novém stroji
« Odpověď #21 kdy: 28. 07. 2011, 15:37:40 »
Možná jsi jen zapomněl na CHARACTER SET při vytváření databáze.

http://dev.mysql.com/doc/refman/5.0/en/create-database.html

Logik

  • *****
  • 1 047
    • Zobrazit profil
    • E-mail
Re: Starý LAMP na novém stroji
« Odpověď #22 kdy: 28. 07. 2011, 22:54:41 »
Nezapoměl. Kódování databáze je irelevantní, jde o to, v jakém kódování komunikuje s klientem. A to je prostě od určité verze php utf8 a co vím nejde to překonfigurovat.