ugrás a tartalomhoz

"ű" betű a mysql tábla nevében, myadmin jó php-ból nem mind ez nem saját szerveren

randomly · 2006. Nov. 5. (V), 18.58
Sziasztok!

Sajnos megint csak segítséget kérek.
Van egy hosszú ű betűs mysql táblám.
A szolgáltató által adott mysql eléréssel megy tudok beleírni stb.
De php -ból nem érem el.

Ugyan ezek a fájlok mennek ugyan azon szolgáltató másik szerverén.
A php connect fájlban csak az új azonosítót és jelszót változtattam.
A táblába író php-n semmit és nem megy.

Azt mondja: Table 'parafalo.TĂ­pus_nĂŠpszerĂťsĂŠg' doesn't exist
pedig ott van.

Amit próbáltam az adatbázis default charset és collatin de semmi változás.
A hosszú i az megy de ez a francos hosszú ű.

köszi: rand

ps: a mysql 5 character cikket olvastam de nem lelem a megoldást.
 
1

Jajj nekem csak szaporítom a bit-eket.

randomly · 2006. Nov. 5. (V), 19.30
Sziasztok!

Sajnos csak most találtam meg ... ezt kiadom a csatlakozás után akkor már jó.
Szóval használjátok egészséggel.

$latin2_beallitas = mysql_query("SET NAMES 'latin2'") or die ("Nem sikerült a latin2 beállíts!");

rand
2

utf-8

Bártházi András · 2006. Nov. 5. (V), 20.42
A táblaneveket - elvileg - a MySQL utf-8-ban tárolja, ezért a fenti dolog. Ne használj ékezetes táblaneveket. Csak magadat szívatod vele, több a gond, mint az előny.
3

Talán nem mondok butaságokat

randomly · 2006. Nov. 12. (V), 11.43
SziaSztok!

Csak nem akarok lemondani az ékezetekről és áttérni az utf8-ra. :-)

Nem igaz teljesen a mondat mert persze szeretnék átállni az utf8 -ra.
Vagy Unicode -ra nem is tudom mi az igaz.

Szóval ahol most host -olok ott jelen pillanatban egy MySQL 4.1.11-Debian_4sarge7 fut PHP Version 4.4.4 -el.

És egy MySQL 4.0.24_Debian-10sarge2 - PHP Version 4.4.4 -ről hoztam át a php fájlokat és export illetve import után a MySQL táblákat.
De a 4.1.11 MySQL szerintem teljesen másképpen kezeli a dolgokat
Itt már megjelenik a DEFAULT CHARACTER SET és DEFAULT COLLATION .
Okoz is nekem sok bajt a hosszú ö (ő) ü (ű) betűkkel.
Vagy nem fogadja el a tábla nevekben vagy a tábla oszlopok neveiben nem kezeli jól.

Most éppen addig jutottam hogy ki kell adjak egy MySQL parancsot.

  $mysql_connect = mysql_connect($host, $user, $password)or die("Nem sikerült az adatbázisszervehez csatlakozni!");
  mysql_select_db("$database")or die("Nem sikerult az adatbazist kiválasztani!");
  mysql_query("ALTER DATABASE $database DEFAULT CHARACTER SET latin2 DEFAULT COLLATE latin2_hungarian_ci") or die ("Nem sikerült a DEFAULT értékek beállítása!");
  mysql_query("SET NAMES 'latin2'") or die ("Nem sikerült a NAMES beállítás!");
  mysql_query("SET CHARACTER SET 'latin2'") or die ("Nem sikerült a CHARACTER SET beállítás!");
Mert a DEFAULT CHARACTER SET latin1 és a DEFAULT COLLATE latin1_swedish_ci.
(És van egy gyanúm hogy a szolgáltató valamit csinál a táblákkal (talán backup) és reggelre az adatbázis újra latin1 és latin1_swedish_ci és persze ez nekem nem jó.)

Utána még ki kell adjam a csatlakozás után a SET NAMES 'latin2' és SET CHARACTER SET 'latin2' parancsot.

Egyébként ezt mondja ha táblákat Latin2 és latin2_hungarian_ci hozom létre:

Illegal mix of collations (latin2_hungarian_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'like'.
Így most látszólag van ékezetes tábla nevem és php -ból kezelni is tudom.
Illetve a tábla oszlop nevekre tudok lekérdezni, olyanokra is amiben van hosszú és ö (ő ű) betű.

Remélem így működni fog nekem is és másnak is.
Ha valaki hibát talál vagy nekem nem megy így akkor kérem egészítse ki.

És miért küzdők az ékezetekkel?
Hát nem tudom, mégis csak Magyarországon vagyunk.
Ilyen kis problémát csak megtudunk oldani valahogyan.
Vagy még sem?

rand
4

Valaki mindig meg akarja váltani a világot :)

Anonymous · 2006. Nov. 12. (V), 12.28
pl:http://weblabor.hu/forumok/temak/13989

A számítástechnika történelme azt mutatja, hogy az ékezetes változónevek maga a GONOSZ.


Az iskolában ezt mindenkinek 100x kéne felírni a táblára :)
(tudom hogy nem változónév, de mind1)
5

Nagy az igazság, amit mondasz

randomly · 2006. Nov. 12. (V), 15.21
Szia!

Nagyon igazad van, de annyira utálatos dolog ez a karakter kódolás.
És annyi mindent elolvastam hogy megtaláljam a megoldást.
És nem az átírásra gondoltam most, de csak nem akart sikerülni.
Igaz most jobban megnézve, ha a weblabor.hu főoldalával kezdtem volna ...
http://weblabor.hu/cikkek/karakterkodolasiproblemakkikuszobolese
Éppen ez a legfölső cikk … 2006.11.12-én.

De talán nem baj hogy már ide írtam amit én alkalmazok.
Hátha mások is olyan szerveren kezdik a mysql - php használatát ahol hibátlanul megy az ékezetes programozás.
És átakarják vinni egy másik szerverre gyorsan.

rand