MySQL 5.0.24 Win + PHP latin 2 karakterekkel
Hali!
mysql 5.0.24 wines adaptacioja,
ha mysql command lineban szurok be ekezetest megy.
PHP Version 5.2.0RC2-dev:
php.iniben:
phpinfo()-bol:
az oldalak elejen:az oldalak elejen:megis, ha formbol szurok be, akkor az adatbazisba az ekezetek nem jol jelennek meg (é helyett ß)
mit felejtettem ki?
koszonom
■ mysql 5.0.24 wines adaptacioja,
show variables like '%_server';
character_set_server: latin2
collation_server: latin2_general_ci
character_set_server: latin2
collation_server: latin2_general_ci
ha mysql command lineban szurok be ekezetest megy.
PHP Version 5.2.0RC2-dev:
php.iniben:
default_charset = "iso-8859-2"
phpinfo()-bol:
default_charset iso-8859-2 iso-8859-2
az oldalak elejen:
<?php setlocale(LC_ALL,'hu_HU');
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
mit felejtettem ki?
koszonom
SET CHARACTER SET
nem jo
viszont, ha en ilyet:
koszonom
header
re header
no igen. a szerkeszto pspad, es ahogy irtad megneztem ansi-ban van :(
viszont 8859-2 alatt sem jo:
helyett ilyen:
viszont utf-8ba is atraktam, a lapon kriksz-kraksz lett, persze mashol nem allitottam at, igy ertheto, legalabb volt valtozas, viszont latin2-vel baja van. Apropo latin2 az az iso-8859-2 ugye? Esetleg apache beallitasra gondoltam, de benne van az
mysql-t kizarnam, mert igazandibol szimplan a test.php-vel sem jelennek meg rendesen, otthon meg kiprobalom ezt a header dolgot, de minden 5letet szivesen varok
koszonom
Nem ugyanaz
A latin2 az gyakorlatilag ugyanaz, mint az iso-8859-2.
Ajánlanék egy olyan szövegszerkesztőt, ami rendesen tud menteni latin2-be, pl. Windows alatt magyar rendszerbeállításokkal a notepad abba ment alapból. Kivéve ha már előtte is utf-8 formátumú volt a megnyitott fájl, ekkor az ANSI nevűt kódolást kell mentésnél kiválasztani, hogy latin2-be mentsen. Persze nem túl advanced szövegszerkesztő, de egy próbát megér, hogy kiderüljön, hol van a hiba.
Az a legjobb egyébként, ha utf8-cal dolgozol minden szinten: a .php fájl szerkesztésekor, a header és a meta tag beállításakor, a mysql-hez való csatlakozás után, és mysql szerver beállításai közt is, meg persze a varchar mezők karakterkódolásánál is. Így semmilyen karakterrel nem lesz problémád. Egyetlen hátránya, hogy PHP alatt a hagyományos sztring-kezelő függvényekkel lehetnek gondok, pl. egy utf8 kódolású 'á' betűt két karakteresnek lát, meg hasonlók.
utf8
Sok hasonló problémam volt, de mióta áttértem utf8-ra azóta semmi gondom ezzel.
Egyébként olvasd el ezt a cikket, engem ráébresztett sok mindenre!
G.
ez segíthet, de....
Látom már régi a fenti téma és születtek bőven megoldások, mindenesetre hozzátenném a saját tapasztalatom:
A fentiekkel kiegészített mysql_query-k, nagymennyiségben hazavághatják a szerver erőforrásait!
Üdv:
EL
már volt megoldás
http://weblabor.hu/forumok/temak/6714#comment-14259
bevált, nekem ugyan $db->query('set names cp1250'); van iconv - miatt de így is jó
form-oknál meg accept-charset attrib, ezzel a kitétellel
http://weblabor.hu/forumok/temak/14802
üdv t
ui: egyébként http://www.phpwact.org/php/i18n/charsets#character_sets_character_encoding_issues
egyébként saját tapasztalatból okulva, unicode-al várok php6 -ig :)
re
a stringkezeles kicsit mashogy alakul, mert mashogy tarol? esetleg vannak kulon stringkezelo fg-ek utf-8-hoz?
Az 5.0.24-ben mar van utf8_hungarian_ci rendezes...
koszi
re
http://www.phpwact.org/php/i18n/charsets#character_sets_character_encoding_issues
bocsi nem írom le még1x :)
már nyítottam róla topikot egyébként
http://weblabor.hu/forumok/temak/14514
ennél többet utf8 kódolásból szvsz nem szabad php alatt erőlteteni
http://ideafontana.com/agra_web/ alul nyelválasztás
:)
részemről ezt várom
Then all our problems magically vanish ;-) Specifically PHP 6 should have native understanding of Unicode and default to UTF-8 for output as well as a bunch of other stuff, building on the International_Components_for_Unicode project.
ui: form-ot meg így használom utf-8 alatt
probléma?
Felhő
re: problema?
Most kiprobaltam, h az letrehoztam egy adatbazist
create database probak character set utf8 collation set utf8_hungarian_ci;
letrehoztam tablat, egy text col.-lal. Atalitottam mindenhol a utf-8-ra a codepage-t: php-ban a mar emlitett mindket fajta headert, atmentettem magat a php filet utf-8 kodolasura. Atalitottam a php.ini-ben:
default_mimetype = "text/html"
default_charset = "utf-8"
probaltam httpd.conf-bol
adddefaultcharset utf-8
es off-al is
probaltam beszurni siman ill. ugy is, hogy a set names utf-8 es a masik hozzavalot elkuldom a query-ben a connect es select db utan, megcsinalja, de ha megnezem a mysql_consolban select * from tabla
akkor a text oszlopom olvashatatlan grafikus jelekkel teli lesz :(
igaz a siman phpvel
a print('ekezetesbetuk');
tokeletesen megjelenik mindegyik karakter. szoval megint elakadtam
most vagy en vok bena (ez ugye nem elkepzelhetettlen) v. a wines php 5.0.24-dev -re gyanakszom, bar inkabb magamra.
Minden 5letet szivesen veszek
koszonom
elirtam
mysql 5.0.24
PHP Version 5.2.0RC2-dev:
hosszú válasz
Nekiálltam csütörtökön válaszolni, aztán ez lett belőle. :)
Felhő
re hosszu valasz
koszi
re re
Kovetkezo van:
win xp pro, es mysql 5.0.24
mysql.ini-ben:
default-character-set=utf8
itt nekem elbol nem jo a "default-collation = utf8_hungarian_ci", a mysql nem ugat ugyan, elindul, de a mysql command line mar szol, hogy:
unkown variable: "default-collation = utf8_hungarian_ci"
erdekes, mert a show collation mutatja, h van raadasul be van forgatva.
jo akkor kihagyom, indul mysql command line:
azert megnezem:
>show variables like '%_server';
character_set_server utf8
collation_server utf8_general_ci
pompas, nosza:
>\C 'utf8';
charset changed;
//feltetelezem ez a command line char setjet allitja
>create database proba;
ok
>use proba;
ok;
>create table a (szoveg text character set 'utf8' collate >'utf8_hungarian_ci') character set 'utf8' collate 'utf8_hungarian_ci';
ok
>set names 'utf8';
ok
insert into a (szoveg) values('öüóőúéáű');
data too long for column...
erdekes, h a show create table a; csak akkor mutatja a szoveget utf8 karakter keszletunek, ha a collate opciot elhagyom.
es akkor meg hol van a php...
Re mindenRe
erdekes az wines alatt a set charset utf-8/latin2 paros nem hasznalt.
Most kiprobaltam debian sarge alatt:
PHP Version 4.3.10-16
4.1.11a-4sarge
2.0.54-5sarge1
apacheban mindegy mi az AddDefaultCharset (jelenleg nalam utf-8), ha a header jol be van allitva
a tablak/adatbazisok character set-je/collationja fontos
a php-k character kodolasai
es ami szivatott: az altalatok emlitett
mysql_query("SET CHARACTER SET utf-8") ill latin2.
Erdekes, debian alatt mukodik, win alatt valamiert nem akart osszejonni.
Mindezt Opera 9.00-val kovettem el.
Koszi a helpet mindenkinek.