Unknown character set: 'utf'

0

Czy ktoś wie o co chodzi w tym błędzie?

Podczas gdy próbuje wysłać dane do db pojawia mi się taki błąd:
Unknown character set: 'utf'
W załączniku jest pokazana struktura bazy danych.
Kodowanie na stronie mam utf8. Dane wysyłam tak:

 
$actCode=str_shuffle("qwertyuiopasdfghjklzxcvbnm1234567890");
$rejestr = register_usr($_POST['loginr'], $_POST['haslor'], $_POST['emailr'], $_POST['imier'], $_POST['nazwiskor'], $actCode, "0", date("Y-m+2-d"));
 function register_usr($login, $pass, $email, $imie, $nazwisko, $kod_akt, $akt, $data) {

	if (!$login || !$pass || !$email || !$imie || !$nazwisko || $kod_akt || $akt || $data) {
		return false;
	}

	db_connect();
	mysql_select_db('parts_db');

	$login = addslashes($login);
	$pass = addslashes($pass);
	$email = addslashes($email);
	$imie = addslashes($imie);
	$nazwisko = addslashes($nazwisko);
	$kod_akt = addslashes($kod_akt);
	$akt = addslashes($akt);
	$data = addslashes($data);

	$query = "INSERT INTO users VALUES ('" . $login . "', '" . $pass . "', '" . $email . "', '" . $imie . "', '" . $nazwisko . "', '" . $kod_akt . "', '" . $akt . "', '" . $data . "')";
	if ($result = mysql_query($query)) {
		return true;
	} else {
		return false;
	}
	return true;
}
0

Wkleiłeś wszystko, oprócz linijki z którą jest problem.

0

to znaczy ? :D

0

Unknown character set: 'utf'

Pokaż gdzie ustawiasz kodowanie? (zapytanie z SET NAMES)

0

O to chodzi?

<HTML>
<HEAD>
<META NAME="description" CONTENT="opis dokumentu">
<META NAME="keywords" CONTENT="Tu wpisz słowa kluczowe, oddzielając przecinkami">
<META NAME="author" CONTENT="autor dokumentu">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 

I jeszcze takie info wygenerowałem:

Error:Unknown character set: 'utf'
Error number: 1115
mysql_client_encoding: latin1
0

To inaczej, wrzuć nam procedurę "db_connect".
BTW:

        if ($result = mysql_query($query)) {
                return true;
        } else {
                return false;
        }
        return true;

Końcowe "return true;" nie jest potrzebne, ponieważ albo z zapytania wyjdzie "true" i wykona się "return true" albo to drugie.

0
 function db_connect() {
	$conn = mysql_connect("localhost", "user", "haslo");

	if (!$conn) {
		echo mysql_error();
		exit ;
	}

	if (!$db = mysql_select_db("parts_db")) {
		echo mysql_error();
		exit ;
	}

	return $conn;
}
0

Prosiliśmy o:
zapytanie z SET NAMES
Coś podobnego do: mysql_query('SET NAMES utf 8');
Ogarniasz własny kod, czy piszesz bezmyślnie kopiując wszystko to stąd, to stamtąd?

0

No to coś takiego jak set names istnieje. Ale nawet po dodaniu

	$query = sprintf("
	SET NAMES 'utf8'");

	mysql_query($query);
	 

dalej nie śmiga. Dziwne bo wcześniej wszystko działało, przeinstalowałem WAMPA i przestało działać :).
Kod wygląda jak wygląda bo to moja pierwsza stronka oparta o php i mysql :).

a

print_r ("<br>Error:".mysql_error()."<br>");
print_r ("Error number: ".mysql_errno()."<br>");
print_r ("mysql_client_encoding: ".mysql_client_encoding()."<br>");

daje:

Error:Unknown character set: 'utf'
Error number: 1115
mysql_client_encoding: latin1
0

sprintf był w jakimś samouczku w którym pisali, że tak powinno się robić. A poza tym po co od razu mnie obrażasz? To było dosyć zbędne i nie pomocne.

Po dodaniu:

mysql_query('SET CHARACTER SET utf8');
mysql_query("SET collation_connection = utf-8_general_ci");
mysql_query("SET NAMES utf-8");
mysql_set_charset('utf8'); 

Pojawia mi się taki błąd:
Error:
Error number: 0
mysql_client_encoding: utf8

Czyli nie wiadomo o co chodzi :/

Może tu jest coś nie tak:

$query = "INSERT INTO users VALUES ('" . $login . "', '" . $pass . "', '" . $email . "', '" . $imie . "', '" . $nazwisko . "', '" . $kod_akt . "', '" . $akt . "', '" . $data . "')";
	if ($result = mysql_query($query)) {
		return true;
	} else {
		return false;
	}
0

Przeczytaj te dwie linijki:

mysql_query('SET CHARACTER SET utf8');
mysql_query("SET NAMES utf-8");

Gdzie tu jest logika?! W jednym utf8 to w drugim sobie wpiszę utf-8, może zadziała?

1 użytkowników online, w tym zalogowanych: 0, gości: 1