Проблем с енкодинга на системата hitove24

disector

Registered
Здравейте,

начинаещ съм в тази област (програмирането)
Та към темата :D
Проблемът ми е с енкодинга на сайта, всичко ми е кодирано на utf8_general_ci.
И ако някой може да ми помогне с тези грешки. :)
Снимки към сайта (енкодинга и грешките който ми дава)

1.Снимка - http://snimki.be/view.php?id=112430
2.Снимка - http://snimki.be/view.php?id=112431

Благодаря предварително :)
 
1. Файловете ти трябва да са UTF-8 без BOM (с Notepad++ се оправят лесно)
2. Направи charset-а на страниците да е UTF-8
3. Базата данни да ти е utf8
4. Таблиците в базата данни да са ти utf8 (това вече си го направил)

В случай, че от това не се оправи:
5. След като се свържеш с базата данни направи една заявка:

[sql]
SET NAMES utf8
[/sql]

Ако ползваш PDO
PHP:
$pdo = new PDO(host, user, pass, array(
                  PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
));

Относно грешките, които ти излизат е, защото не правиш предварителна проверка на тези индекси, вероятно изпратени по GET метод.
Намираш там, където ти вади грешките и правиш проверки от рода:

PHP:
if ( isset($_GET['login']) ) {
       // правиш каквото правиш
}

if ( isset($_GET['p']) ) {
       // правиш каквото правиш
}

Това са примерни варианти, как да се отървеш от тези грешки.

Принципно можеш да ги махнеш като забраниш изкарването на всички грешки, което е правилния вариант при пускане на сайт в production. Обаче, за да направиш това, е хубаво да имаш изградена лог система, която да ти записва грешките във файл, за да можеш да следиш сайта, иначе, ако се чупи някъде, няма да имаш представа къде.
 
Имаш ли
Код:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
в php файловете..


Ако не стане с него пробвах все пак и
Код:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>


Ако с втория код стане, значи файловете ти не с с UTF-8 енкодинг.

Интересното е че примерно песента на Фики е на кирилица ..


Можеш да пробваш да си декларираш енкодинга и в PHP-то:

Код:
header("Content-Type: text/html; charset=utf-8");
 

Back
Горе