PHP:Karakter kódolási hiba. Miért jön ez elő?
eddig nem volt baj a karakterkódolással!
a meta tagokban (keresési kulcsszavak,leírás van PHP innyektáció!)
a többi rész az így néz ki:
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2;' />
<meta http-equiv='Content-Language' content='hu' />
<meta http-equiv='Content-Style-Type' content='text/css' />
<meta http-equiv='Content-Script-Type' content='text/javascript' />
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
és most egy tesztelés során bukkantunk rá egy nagyon érdekes még is nagyon zavaró dologra:
ez :
echo "esküvői ruhakölcsönző";
így néz ki:
esküvoi ruhakölcsönzo
aztán így néz ki :
Név Üzletág Munkavégzés helyszíne
Kovács Kft Mosógépszerviz XIII.Kerület
valami Esküv?i ruhakölcsönz? I.Kerület
ez:
mysql_connect ($host,$dbuser,$dbpass);
mysql_select_db($dbname);
echo "esküvői ruhakölcsönző";
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
$query = "SELECT * FROM profil ";
if($_POST["dolgoz"] != "" AND $_POST["uzletag"] != ""){
$where[] = " dolgoz = '". $_POST["dolgoz"] ."' AND uzletag = '". $_POST["uzletag"] ."' ";
}
if($_POST["dolgoz"] != "" AND $_POST["uzletag"] == ""){
$where[] = " dolgoz = '". $_POST["dolgoz"] ."' ";
}
if($_POST["dolgoz"] == "" AND $_POST["uzletag"] != ""){
$where[] = " uzletag = '". $_POST["uzletag"] ."' ";
}
if($_POST["dolgoz"] == "" AND $_POST["uzletag"] == "" AND $_GET["uzletag"] != "" or $_GET["dolgoz"] != "" )
{
if($_GET["dolgoz"] != "" AND $_GET["uzletag"] != ""){
$where[] = " dolgoz = '". $_GET["dolgoz"] ."' AND uzletag = '". $_GET["uzletag"] ."' ";
}
if($_GET["dolgoz"] != "" AND $_GET["uzletag"] == ""){
$where[] = " dolgoz = '". $_GET["dolgoz"] ."' ";
}
if($_GET["dolgoz"] == "" AND $_GET["uzletag"] != ""){
$where[] = " uzletag = '". $_GET["uzletag"] ."' ";
}
}
if ( isset( $where ) AND count( $where ) > 0 )
$query .= " WHERE " . implode( " OR " , $where ) ;
$result = mysql_query( $query );
$num = mysql_num_rows ( $result );
$row_per_page = 10;
$page = isset( $_GET["page"] )? intval( $_GET["page"] ) : 1 ;
$actual = ( $page-1 ) * $row_per_page;
$query .= " LIMIT $actual,$row_per_page";
$result = mysql_query( $query ) or die( mysql_error() );
if ( $num > 0 ) {
?>
<table border="1">
<tr>
<th>Név</th>
<th>Üzletág</th>
<th>Munkavégzés helyszíne</th>
</tr>
<?php
while ( $a = mysql_fetch_assoc( $result ) ) {
$id = $a["id"];
echo "<tr>";
echo "<td> ".$a["nev"]."</td>";
echo "<td> ".$a["uzletag"]."</td>";
echo "<td> ".$a["dolgoz"]."</td>";
echo "<td> <a href='?v=profil&id=$id'>Profil részletes megtekintése!</a> </td>";
echo "</tr>";
}
echo "</table>";
$uzletag = $_POST["uzletag"];
$dolgoz = $_POST["dolgoz"];
$q_search = $_POST["q_search"];
$q_where = "jelszo";
$p = new pagination;
$p->Items( $num );
$p->limit( $row_per_page );
$p->target( "?v=kereses&dolgoz=$dolgoz&uzletag=$uzletag" );
$p->currentPage( $page );
$p->nextLabel( "" );
$p->prevLabel( "" );
$p->nextIcon( "" );
$p->prevIcon( "" );
$p->show();
}
else{////
echo "<h3>NINCS TALÁLAT :(!</h3>";
}
hol van itt a baj?
miért jön elő ez a baj?
valami összefüggés van a kereső kód és a karakter kódolási hiba között?
hogyan és miként lehet ezt kijavítani?
köszi szépen.....
a + munkát mivel átírtam utf8 ra a charsetet. (minden ilyen hülye ? jeles lett!)
utána a fájl karakter kódolását is átírtam ééés
nem tudom , hogy megszűnt-e a probléma mert nem enged kapcsolódni a mysql táblához!
még szerencse , hogy csináltam biztonsági mentést :)
A fájlok karakterkódolását állítsd át UTF8-ra (BOM nélkül).
A rendes utf8 kódolású file-t nem fogja elfogadni a szerver, mert a fájlok fejlécében egy 3byte-os azonosító (BOM) szerepel, amit a szerver megpróbál kijelezni.
A html fájlok fejlécében is meg kell jeleníteni a karakterkódolást (meta tagek), ez php-val is nyomatékosítható.
<?php header("Content-Type: text/html; charset=utf-8"); ?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF8">
Az adatbázist is át kell alakítani utf8 karakterkódolásúra, és csatlakozáskor nem árt tudatni is azt az adatbázisszerverrel.
mysql_select_db után:
<?php
mysql_query("set names = 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET COLLATION_CONNECTION='utf8_unicode_ci'");
mysql_query("SET character_set_results = 'utf8'");
mysql_query("SET character_set_server = 'utf8'");
mysql_query("SET character_set_client = 'utf8'");
?>
hmmmmm......megpróbálom.........
bár ez nagyon úgy hangzik mintha biztonsági másolatot kéne csinálni!
ezeket a szép kis hibaüzeneteket kaptam vissza:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'a9426947_test'@'10.1.1.30' (using password: YES) in /home/a9426947/public_html//5/images/kell/php.php on line 109
Free Web Hosting
PHP Error Message
Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'a9426947'@'localhost' (using password: NO) in /home/a9426947/public_html//5/images/kell/php.php on line 110
Free Web Hosting
PHP Error Message
Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/a9426947/public_html//5/images/kell/php.php on line 110
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: Access denied for user 'a9426947'@'localhost' (using password: NO) in /home/a9426947/public_html//5/images/kell/php.php on line 112
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/a9426947/public_html//5/images/kell/php.php on line 112
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: Access denied for user 'a9426947'@'localhost' (using password: NO) in /home/a9426947/public_html//5/images/kell/php.php on line 113
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/a9426947/public_html/szerelokell/5/images/kell/php.php on line 113
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: Access denied for user 'a9426947'@'localhost' (using password: NO) in /home/a9426947/public_html//5/images/kell/php.php on line 114
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/a9426947/public_html//5/images/kell/php.php on line 114
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: Access denied for user 'a9426947'@'localhost' (using password: NO) in /home/a9426947/public_html//5/images/kell/php.php on line 115
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/a9426947/public_html/szerelokell/5/images/kell/php.php on line 115
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: Access denied for user 'a9426947'@'localhost' (using password: NO) in /home/a9426947/public_html//5/images/kell/php.php on line 116
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/a9426947/public_html//5/images/kell/php.php on line 116
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: Access denied for user 'a9426947'@'localhost' (using password: NO) in /home/a9426947/public_html//5/images/kell/php.php on line 117
Free Web Hosting
PHP Error Message
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/a9426947/public_html//5/images/kell/php.php on line 117
ez található az említett periódusban:
mysql_connect ($host,$dbuser,$dbpass);
mysql_select_db($dbname);
mysql_query("set names = 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET COLLATION_CONNECTION='utf8_unicode_ci'");
mysql_query("SET character_set_results = 'utf8'");
mysql_query("SET character_set_server = 'utf8'");
mysql_query("SET character_set_client = 'utf8'");
a kapcsolódási adatok 110% , hogy jó mivel amikor ansi volt a kódolása a fájloknak és nem volt charset meghetározva akkor működött!
csak lépésenként csináld
egyébként az miért van, hogy aki itt kérdést tesz fel, az egyszerűen nem hajlandó bármin is gondolkodni
vagy próbálkozni
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!