Witam,
Dopiero zaczynam PHP, zacząłem od tego tutoriala:
http://www.phazm.com/notes/easy-as-pie/ ... databases/
Wszystko ładnie chodzi, tylko, że jak dodaje coś z polskimi znakami to mi wychodzą krzaczki zamiast polskich znaków.
[php]
<?php
$user="username";
$password="password";
$database="database";
$connection=mysql_connect('localhost',$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
if ($_REQUEST['quote'] != "") {
if($_REQUEST['author'] != "") {
$author = $_REQUEST['author'];
} else {
$author = "Anonymous";
}
$quote = $_REQUEST['quote'];
$query="INSERT INTO `quotes` (`quote`,`author`) values ('" . mysql_real_escape_string($quote) . "','" . mysql_real_escape_string($author) . "')";
$result=mysql_query($query) or die(mysql_error());
echo("inserted quote: " . htmlentities($quote) . " by " . htmlentities($author) . " into database");
} else {
echo("<p>Please enter a quote and author</p>");
}
?>
<form action="" method="post">
<fieldset>
<legend>Add a Quote</legend>
<label for="quote">Quote:</label>
<input type="text" name="quote" id="quote" maxlength="255" />
<label for="author">Author:</label>
<input type="text" name="author" id="author" maxlength="40" />
<input type="submit" value="Add Quote" />
</fieldset>
</form>
<h2>All Quotes:</h2>
<?php
$query="SELECT `quote`, `author` FROM `quotes`";
$result=mysql_query($query) or die(mysql_error());
$num=mysql_numrows($result);
$i=0;
while ($i < $num) {
$quote = htmlentities(mysql_result($result,$i,"quote"));
$author = htmlentities(mysql_result($result,$i,"author"));
echo("<blockquote>" . $quote . " ~ <cite>" . $author . "</cite></blockquote>");
$i++;
}
mysql_close($connection);
?>
[/php]
Co ciekawe, jak dodaje do bazy MySQL przez phpMyAdmin z polskimi znakami, to wszystko jest OK.
W bazie jest "utf8_unicode_ci" (próbowałem też z utf8_bin), na stronie "utf-8".
Nawet jak wyświetlam na stronie wszystko co jest w bazie, to też są krzaczki zamiast polskich znaków, nawet jeśli dodam przez phpMyAdmin i w bazie, widzę, że jest normalnie z polskimi znakami, to na stronie są jednak krzaczki.
[PHP][MySQL] Polskie znaki - dodawanie do MySQL @ tutorial
Re: [PHP][MySQL] Polskie znaki - dodawanie do MySQL @ tutorial
dodaj po połaczeniu z bazą
[php]<?
@mysql_query("SET NAMES utf8");
@mysql_query("SET collation_connection = utf8_unicode_ci");
@mysql_query("SET CHARACTER SET utf8");
@mysql_query(" set character_set_connection=utf8");
@mysql_query(" set character_set_client=utf8");
@mysql_query(" set character_set_database=utf8");
@mysql_query(" set character_set_results=utf8");
@mysql_query(" set character_set_server=utf8");
@mysql_query(" set collation_database=utf8_unicode_ci");
@mysql_query(" set collation_server=utf8_unicode_ci");
?>
[/php]
czasem po połaczeniu z bazą trzeba ustawić kodowanie :) co serwer to inne ustawienia ;)
[php]<?
@mysql_query("SET NAMES utf8");
@mysql_query("SET collation_connection = utf8_unicode_ci");
@mysql_query("SET CHARACTER SET utf8");
@mysql_query(" set character_set_connection=utf8");
@mysql_query(" set character_set_client=utf8");
@mysql_query(" set character_set_database=utf8");
@mysql_query(" set character_set_results=utf8");
@mysql_query(" set character_set_server=utf8");
@mysql_query(" set collation_database=utf8_unicode_ci");
@mysql_query(" set collation_server=utf8_unicode_ci");
?>
[/php]
czasem po połaczeniu z bazą trzeba ustawić kodowanie :) co serwer to inne ustawienia ;)
