Kezdőoldal » Számítástechnika » Weblapkészítés » Ékezetes betű probléma? (PHP,...

Ékezetes betű probléma? (PHP, MYSQL)

Figyelt kérdés

Elkezdtem tanulmányozni a php-t.Csináltam egy oldalt ahova beirom a cimet, alcímet és a hosszú szöveget és az megjeleni a főoldalon.(Elég kezdetleges)


A problémám az hogy bár az index.php és a bekeres.php fájl is utf 8 as kodolású. Mégis így néznek ki az ékezetes betűk!


[link]



2014. nov. 10. 23:31
 1/9 anonim ***** válasza:
ÉS a mysql tábla milyen kódolású?
2014. nov. 10. 23:34
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:

UTF8-hun-ci(vagy valami hasonló!)


MEGOLDOTTAM BÁR NEM ÉRTEM HOGY EBBE MI A LOGIKA!

NOTEPAD++:

Az index.php-t UTF8 BOM nélülire állítottam sima UTF8 ról mostmár megjeleníti az ékezeteket!

A bekeres.php-t pedig UTF8 - ra állitottam UTF8 BOM nelküliről és mostmár itt is jók az ékezetek! Ez hogy van?

2014. nov. 10. 23:42
 3/9 anonim ***** válasza:
A karakterekhez tartozik egy karakterkódtábla, ami alapján a rendszered eltárola a karaktereket. Ilyen kódtábla pl az ASCII vagy az UTF8 és még sok más van, egyes kódtábláknak több változata is van. Ha te egy adott kódtáblában mented a php fájlodat és a böngésződ egy másik kódtábla alapján jelenítni meg, akkor rosszul fognak megjelenni a karakterek. Ezt úgy lehet kijavítani, hogy valamely szövegszerkesztővel konvertálod a php-t ahogy te is tetted, vagy a böngészőben jelzed a megfelelő kódtáblát.
2014. nov. 11. 04:44
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:

Mindig UTF8 BOM -nélkülibe mentsd a PHP -t (BOM karakterek amik a fájl elején vannak gondot okozhatnak pl. PHP headerben)

.htaccess -ben is állítsd be a karakter kódolást.

<FilesMatch "\.(htm|html|css|js|php|phtml)$">

AddDefaultCharset UTF-8

DefaultLanguage hu-HU

</FilesMatch>


PHP fejlécében (index.php -ban) is szerepeljen hogy UTF-8.

header('Content-type: text/html; charset=utf-8');


Adatbázis is UTF8-* -ra legyen állítva, és a kapcsoltnál (pl. MySQL) -nél is meg kell adni hogy UTF-8 -as kapcsolat.

mysqli_query($conn,'SET NAMES utf8');


És persze HTML meta adatokban is szerepeljen.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Vagy HTML5 esetében: <meta charset="utf-8" />


Ha ezt mind betartod, elkerülhetsz minden kellemetlen dolgot!


(És még egy örök kezdők hibája, kerülj mindenféle felesleges PHP nyitás zárást, mert pl sortörés kerülhet ki írásra, és utána header információkat hiába szeretnéd módosítani...)

2014. nov. 11. 07:26
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
#4 mit értesz felesleges nyitás-záráson?
2014. nov. 11. 08:22
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
100%

pl. sokszor látok ilyent:

<?php header('...'); ?>

<?php header('...'); ?>

<?php echo"..."; ?>


Ebben ugyan is első PHP zárás után már is kimegy egy sortörés, ami után már semmi header formázás nem fog megtörténni.

Ez valami hasonlóan nézne ki optimális esetben:

<?php

header('...');

header('...');

echo"...";

?>

2014. nov. 11. 09:19
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
Kódolás legyen: ISO 8859-2
2014. nov. 11. 19:41
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

#7: miért, miért legyen bekorlátozva?

Ha meg akar jeleníteni speciális karaktert, akkor trükközön HTML kódokkal?

2014. nov. 11. 20:13
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
Igen.
2014. nov. 11. 20:45
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!