I'm trying to figure out how to get Hebrew characters. In my connection.php I have  $con->set_charset('utf8');, so letters appears in input fields and recorded properly in MySql database with this connection.php:
<?php
header("Access-Control-Allow-Origin: *");
header('Content-type: text/xhtml; charset=windows-1255');
$con = new mysqli('localhost:XXXX', 'user', 'password');
$con->set_charset('utf8');
if (!$con)
{
    echo 'Not Connected To Server';
}
if (!mysqli_select_db ($con, 'mydb'))
{
    echo 'Database Not Selected';
}
?>
But in several places, seems like, when I'm trying to get it from list, for example below home.ts this.function(); http request, it appears this way: 
 function() {
    var headers = new Headers();
    headers.append('Content-Type', 'application/x-www-form-urlencoded');
    let options = new RequestOptions({ headers: headers });
      let postParams = '&user=' + this.user;
      this.http.post(this.phpPath + "select.php", (postParams), options)
        .subscribe(data => {         
          var nmb = (data.text().split(".").length);
          let x = data.text().split(".");
          for (var i = 0; i < nmb; i++) {
            var c = x[i];          
              this.list.push({ id: i, name: this.s + c }, );
          }
        }, error => {
          console.log(error);
        });     
  }
particularselect.php uses connection.php:
<?php
require 'connection.php';
$user = mysqli_real_escape_string($con, $_POST["user"]);
$sql = "SELECT name FROM tab where user='".$user."'";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo $row["name"].'.';
    }
} else {
    echo "0 results";
}
mysqli_close($con);
?>
I've tried to add  <meta charset="UTF-8"> to home.html, but index.html already contains it. And also I've tried to save home.html with notepad encoded with UTF-8, but nothing helps.
header(‘Content-type: text/xhtml; charset=windows-1255’); already in connection.php, and in result I have Hebrew characters in MySql database record from other http requests and .php back-end. 
For example input in application:
or in MySql table:
But this does not affect button, as well as several other places in same application UI with same connection.php, like this one from particular code:
if there is no header(‘Content-type: text/xhtml; charset=windows-1255’); it looks this way:
or in application:
but it is different from:
I’m not quite understand, what I'm doing wrong and have to change with XHTML,  sending UTF-8 and promising windows-1255, but I’ve tried return it differently, as a json from select.php with array $myArray[] = $row; as let obj: MyObj = JSON.parse(data.text()); in http request.
In result console:
\u05d0\u05d1\u05d2\u05d3
And object is undefined
I found this stackoverflow answer, which says that Old-Style ASCII Property Lists allows only ASCII characters, and I have print description of a string. Maybe it is a reason, but I’m not sure, how to do it in Ionic2 TypeScript
EDIT 1:
I've edited connection.php with  $con->set_charset('utf8mb4'); instead of utf8, and also I've used  $con->query("SET collation_connection = utf8mb4_unicode_520_ci");:
$con = new mysqli('host', 'user', 'password');
$con->set_charset('utf8mb4');
$con->query("SET collation_connection = utf8mb4_unicode_520_ci");
MySql database row on server is utf8_general_mysql500_ci, which contains hebrew characters record and retrieves by request in other places of application.
I'm not sure, how to set <meta charset=UTF-8> for Ionic2 html page, it is already in <head> of project index.html. With adding to home.html or any other page <ion-header>, nothing changes.
in case of \u05d0\u05d1\u05d2\u05d3 now with echo json_encode($myArray, JSON_UNESCAPED_UNICODE); seems like returns proper string with English json names, but hebrew still in Mojibake. Anyway, to avoid Unicode codepoints, in my case it is enough to get echo as $row["name"].'.'; without array and object in http request. But I'm not sure, what to do with Mojibake 
EDIT 2:
Show create table, name column contains hebrew:
CREATE TABLE `band` (
 `ID` int(20) NOT NULL AUTO_INCREMENT,
 `name` varchar(300) COLLATE utf8_general_mysql500_ci NOT NULL,
 `style` varchar(100) COLLATE utf8_general_mysql500_ci NOT NULL,
 `member` text COLLATE utf8_general_mysql500_ci NOT NULL,
 `zone` varchar(300) COLLATE utf8_general_mysql500_ci NOT NULL,
 `region` varchar(100) COLLATE utf8_general_mysql500_ci NOT NULL,
 `website` varchar(800) COLLATE utf8_general_mysql500_ci NOT NULL,
 `image` varchar(2083) COLLATE utf8_general_mysql500_ci NOT NULL,
 `user` varchar(700) COLLATE utf8_general_mysql500_ci NOT NULL,
 `num` varchar(200) COLLATE utf8_general_mysql500_ci NOT NULL,
 `registration` varchar(300) COLLATE utf8_general_mysql500_ci NOT NULL,
 PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_general_mysql500_ci
EDIT 3:
<?php
require 'connection.php';   
$user = mysqli_real_escape_string($con, $_POST["user"]);  
$sql = "SELECT name, HEX(name) AS hex_name FROM tab where user='".$user."'";  
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo $row["name"], ' ', $row["hex_name"], '.';
    }
} else {
    echo "0 results";
}    
mysqli_close($con);
?>
result:
EDIT 4:
result with text:
in text:
 ׳׳‘׳’׳“
׳׳•׳¨ ׳¢׳§׳™׳‘׳
׳׳׳•׳ ׳™ ׳™׳¦׳—׳§
copied from console:
in database:
as hebrew text:
אבגד
אור עקיבא
אלוני יצחק
at the same time with another request in other page to same table and record, console:
in app:













