проблем с кирилица!!!

kristiqn2

Registered
Здравейте,
Искам да направя тази регистрационна форма да е на кирилица но ми излиза на @#@#@# маймуници :D та въпроса ми е как мога да го направя цялата страница да е на кирилица ?
ето го и кода:
Код:
<?php include "style.php"?>

			<div id="top">
<h1 class="componentheading">Новини</h1>
			<div>
			<div>
			<div>
			
<table class="contentpaneopen">
	<tbody><tr>
		<td valign="top"><p>

	
<?php

//Tazi funkciq shte pokaje registracionnata forma
function register_form(){

$date = date('D, M, Y');
echo "<form action='?act=register' method='post'>"
."Потребител: <input type='text' name='username' size='30'><br>"
."Parola: <input type='password' name='password' size='30'><br>"
."Povtorete vashata parola: <input type='password' name='password_conf' size='30'><br>"
."Email: <input type='text' name='email' size='30'><br>"
."<input type='hidden' name='date' value='$date'>"
."<input type='submit' value='Register'>"
."</form>";

}

//Tazi funkciq registrira users data
function register(){

//Svurzvame se s bazata danni
$connect = mysql_connect("localhost", "root", "0897313840");
if(!$connect){
die(mysql_error());
}

//izbirame dbto
$select_db = mysql_select_db("radio2");
if(!$select_db){
die(mysql_error());
}

//Collecting info
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
$pass_conf = $_REQUEST['password_conf'];
$email = $_REQUEST['email'];
$date = $_REQUEST['date'];

//Taka shte razberem dali sme populnili vsichki input ot formata

if(empty($username)){
die("Molq vuvedete vashiqt potrebitel!<br>");
}

if(empty($password)){
die("Molq vuvedete vashata parola!<br>");
}

if(empty($pass_conf)){
die("Molq povtorete vashata parola!<br>");
}

if(empty($email)){
die("Molq vuvedete vashiqt email!");
}

//Neka sega proverim dali potrebitelq ne se polzva

$user_check = mysql_query("SELECT username FROM users WHERE username='$username'");
$do_user_check = mysql_num_rows($user_check);

//sega emaila

$email_check = mysql_query("SELECT email FROM users WHERE email='$email'");
$do_email_check = mysql_num_rows($email_check);

//Sega izkarvame greshkite

if($do_user_check > 0){
die("Potrebitelqt se polzva , molq izberete drug!<br>");
}

if($do_email_check > 0){
die("Emaila se polzva , molq izberete drug!");
}

//sega da vidim dali parolite suvpadat

if($password != $pass_conf){
die("Passwords don't match!");
}


//Ako vsichko e uspeshno registraciqta shte registrira user

$insert = mysql_query("INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')");
if(!$insert){
die("There's little problem: ".mysql_error());
}

echo $username.", Vie ste uspeshno registriran!<br><a href=?act=login>Vhod</a> | <a href=index.php>Nachalo</a>";

}

switch($act){

default;
register_form();
break;

case "register";
register();
break;

}

?> 


	
</p></td>
	</tr>
	<tr>
        <td valign="top">

       		</td>
     </tr>
</tbody></table>


					</div>
				</div>
			</div>
		</div>
	
								
	
<?php include "footer.php"?>
 
Кодировката на страницата: UTF-8
В head секцията:
PHP:
<meta charset="utf-8" />
Колация в базата данни: utf8_general_ci

Правиш тези неща и нямаш повече проблеми с кирилицата! :wink:
 
Трябва и файла да ти е UTF-8. По подразбиране на windows е windows-1251 така, че пробвай с него
демек
<meta charset="windows-1251" />
 
sianbg_s, даваш му временни решения.
kristiqn2, ако спазваш трите стъпъки, които ти казах по-горе, няма да имаш проблеми. Кажи точно какво направи! Кажи и кой редактор ползваш!
 
Ползвам Notepad++ и ето как е кода след като го направих на utf-8:
Код:
<?php include "style.php"?>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
			<div id="top">
<h1 class="componentheading">Новини</h1>
			<div>
			<div>
			<div>
			
<table class="contentpaneopen">
	<tbody><tr>
		<td valign="top"><p>

	
<?php

//Tazi funkciq shte pokaje registracionnata forma
function register_form(){

$date = date('D, M, Y');
echo "<form action='?act=register' method='post'>"
."Потребител: <input type='text' name='username' size='30'><br>"
."Parola: <input type='password' name='password' size='30'><br>"
."Povtorete vashata parola: <input type='password' name='password_conf' size='30'><br>"
."Email: <input type='text' name='email' size='30'><br>"
."<input type='hidden' name='date' value='$date'>"
."<input type='submit' value='Register'>"
."</form>";

}

//Tazi funkciq registrira users data
function register(){

//Svurzvame se s bazata danni
$connect = mysql_connect("localhost", "root", "0897313840");
if(!$connect){
die(mysql_error());
}

//izbirame dbto
$select_db = mysql_select_db("radio2");
if(!$select_db){
die(mysql_error());
}

//Collecting info
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
$pass_conf = $_REQUEST['password_conf'];
$email = $_REQUEST['email'];
$date = $_REQUEST['date'];

//Taka shte razberem dali sme populnili vsichki input ot formata

if(empty($username)){
die("Molq vuvedete vashiqt potrebitel!<br>");
}

if(empty($password)){
die("Molq vuvedete vashata parola!<br>");
}

if(empty($pass_conf)){
die("Molq povtorete vashata parola!<br>");
}

if(empty($email)){
die("Molq vuvedete vashiqt email!");
}

//Neka sega proverim dali potrebitelq ne se polzva

$user_check = mysql_query("SELECT username FROM users WHERE username='$username'");
$do_user_check = mysql_num_rows($user_check);

//sega emaila

$email_check = mysql_query("SELECT email FROM users WHERE email='$email'");
$do_email_check = mysql_num_rows($email_check);

//Sega izkarvame greshkite

if($do_user_check > 0){
die("Potrebitelqt se polzva , molq izberete drug!<br>");
}

if($do_email_check > 0){
die("Emaila se polzva , molq izberete drug!");
}

//sega da vidim dali parolite suvpadat

if($password != $pass_conf){
die("Passwords don't match!");
}


//Ako vsichko e uspeshno registraciqta shte registrira user

$insert = mysql_query("INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')");
if(!$insert){
die("There's little problem: ".mysql_error());
}

echo $username.", Vie ste uspeshno registriran!<br><a href=?act=login>Vhod</a> | <a href=index.php>Nachalo</a>";

}

switch($act){

default;
register_form();
break;

case "register";
register();
break;

}

?> 


	
</p></td>
	</tr>
	<tr>
        <td valign="top">

       		</td>
     </tr>
</tbody></table>


					</div>
				</div>
			</div>
		</div>
	
								
	
<?php include "footer.php"?>
</head>
</html>
 
Първо трябва да понаучиш някои основни неща за HTML и PHP. Имаш страшно много грешки в кода. На кратко:
- слагай ; след include в PHP
- CSS-а ти е добре да е в отделен CSS файл и по-важното, да се вмъква в head секцията, а не както сега най-отгоре
- липсва ти Doctype - задължително трябва документа ти да започва с него
- след като затвориш head секцията, отваряш body и там трябва да е всичко, което ще се вижда. При теб всичко е в head, а тя е само за „служебна“ информация

Това само забелязах на пръв поглед. С две думи, най-напред трябва да се научиш да пишеш валиден HTML код. Това може да ти е от полза: http://validator.w3.org/

Още малко ще се отклоня. Виждам, че използваш някакви променливи дошли един бог знае от къде директно в SQL заявките си. Не го прави никога! Винаги ги минавай първо през някой функция като htmlspecialchars() и addslashes().

Сега по въпросът ти. В някое от менютата (не си спомням точно кое) на Notepad++ имаш Конвертиране към UTF-8 без BOM. Избираш това!
В комбинация с подходящия doctype и charset=utf-8 трябва да ти се решат проблемите с кирилицата.
 
Първо страница която ви дадох по горе е от готова система (не съм я писал аз).А по темата благодаря много стана а да ми дадете някоя хубава логин система :D ?
 

Back
Горе