Hello! I have an application for android that interacts with the database. api is written on pkhp. I did not learn pkhp, but redid the code to fit my needs, in principle everything works. but the problem is with the Russian language. When I do the registration appear in the fields of the database such characters "????".
Here is the code:
<?php class DB_Functions { private $db; //put your code here // constructor function __construct() { require_once 'DB_Connect.php'; // connecting to database $this->db = new DB_Connect(); mysql_query("SET NAMES utf8"); $this->db->connect(); } // destructor function __destruct() { } /** * Storing new user * returns user details */ public function storeUser($name, $email, $password,$login,$phone,$street,$house,$country,$town,$region,$pol,$age) { $uuid = uniqid('', true); $hash = $this->hashSSHA($password); $encrypted_password = $hash["encrypted"]; // encrypted password $salt = $hash["salt"]; // salt $result = mysql_query("INSERT INTO ****(unique_id, name, email, encrypted_password, salt, created_at,login,phone,street,house,country,town,oblast,pol,age) VALUES('$uuid', '$name', '$email', '$encrypted_password', '$salt', NOW(),'$login','$phone','$street','$house','$country','$town','$region','$pol','$age')"); // check for successful store if ($result) { // get user details $uid = mysql_insert_id(); // last inserted id $result = mysql_query("SELECT * FROM **** WHERE uid = $uid"); // return user details return mysql_fetch_array($result); } else { return false; } } /** * Storing new user * returns user details */ public function storeDriver($name, $email, $password,$login,$phone,$street,$house,$country,$town,$region,$pol,$age,$marka,$model,$gosnumber,$color) { $uuid = uniqid('', true); $hash = $this->hashSSHA($password); $encrypted_password = $hash["encrypted"]; // encrypted password $salt = $hash["salt"]; // salt $result = mysql_query("INSERT INTO ****(unique_id, name, email, encrypted_password, salt, created_at,login,phone,street,house,country,town,oblast,pol,age,auto,auto_model,gosnumber,color) VALUES('$uuid', '$name', '$email', '$encrypted_password', '$salt', NOW(),'$login','$phone','$street','$house','$country','$town','$region','$pol','$age','$marka','$model','$gosnumber','$color')"); // check for successful store if ($result) { // get user details $uid = mysql_insert_id(); // last inserted id $result = mysql_query("SELECT * FROM **** WHERE uid = $uid"); // return user details return mysql_fetch_array($result); } else { return false; } } /** * Get user by email and password */ public function getUserByEmailAndPassword($email, $password) { $result = mysql_query("SELECT * FROM **** WHERE email = '$email'") or die(mysql_error()); $result1 = mysql_query("SELECT * FROM **** WHERE email = '$email'") or die(mysql_error()); // check for result $no_of_rows = mysql_num_rows($result); $no_of_rows1 = mysql_num_rows($result1); if ($no_of_rows > 0) { $result = mysql_fetch_array($result); $salt = $result['salt']; $encrypted_password = $result['encrypted_password']; $hash = $this->checkhashSSHA($salt, $password); // check for password equality if ($encrypted_password == $hash) { // user authentication details are correct return $result; } } else if ($no_of_rows1 > 0) { $result1 = mysql_fetch_array($result1); $salt = $result1['salt']; $encrypted_password = $result1['encrypted_password']; $hash = $this->checkhashSSHA($salt, $password); // check for password equality if ($encrypted_password == $hash) { // user authentication details are correct return $result1; } } else { // user not found return false; } } /** * Check user is existed or not */ public function isUserExisted($email) { $result = mysql_query("SELECT email from **** WHERE email = '$email'"); $no_of_rows = mysql_num_rows($result); if ($no_of_rows > 0) { // user existed return true; } else { // user not existed return false; } } /** * Check driver is existed or not */ public function isDriverExisted($email) { $result = mysql_query("SELECT email from **** WHERE email = '$email'"); $no_of_rows = mysql_num_rows($result); if ($no_of_rows > 0) { // user existed return true; } else { // user not existed return false; } } /** * Encrypting password * @param password * returns salt and encrypted password */ public function hashSSHA($password) { $salt = sha1(rand()); $salt = substr($salt, 0, 10); $encrypted = base64_encode(sha1($password . $salt, true) . $salt); $hash = array("salt" => $salt, "encrypted" => $encrypted); return $hash; } /** * Decrypting password * @param salt, password * returns hash string */ public function checkhashSSHA($salt, $password) { $hash = base64_encode(sha1($password . $salt, true) . $salt); return $hash; } } ?> that's how I sent the data
public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) { // Making HTTP request try { // defaultHttpClient DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); httpPost.setEntity(new UrlEncodedFormEntity(params)); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); json = sb.toString(); Log.e("JSON", json); } catch (Exception e) { Log.e("Buffer Error", "Error converting result " + e.toString()); } // try parse the string to a JSON object try { jObj = new JSONObject(json); } catch (JSONException e) { Log.e("JSON Parser", "Error parsing data " + e.toString()); } // return JSON String return jObj; } PS even mysql_query ("SET NAMES utf8"); Does not help