2015-08-26 3 views
2

У меня есть база данных mysql из «продуктов», и я нажимаю их на приложение через этот .php-код. Моя проблема в том, что, поскольку у меня есть специальные символы, такие как «ä, ö, ü» и особенно «€», этот код не работает для меня. Специальные символы просто удаляются из строки.Как нажимать latin-2 chracters из mysql с php

Я попробовал несколько кодировок в PHP и попытались загрузить данные в базу данных в Windows 1252, а также латинские 1, 2, 15.

Результаты можно увидеть здесь: arsdecora.net/get_all. PHP

<?php 
/* 
* Following code will list all the products 
*/ 

// array for JSON response 
$response = array(); 

// include db connect class 
require_once __DIR__ . '/db_connect.php'; 

// connecting to db 
$db = new DB_CONNECT(); 

// get all products from products table 
$result = mysql_query("SELECT *FROM table") or die(mysql_error()); 

// check for empty result 
if (mysql_num_rows($result) > 0) { 
// looping through all results 
// products node 
$response["products"] = array(); 

while ($row = mysql_fetch_array($result)) { 
    // temp user array 
    $product = array(); 
    $product["pid"] = $row["pid"]; 
    $product["name"] = $row["name"]; 
    $product["kategorie"] = $row["kategorie"]; 
    $product["beschreibung"] = $row["beschreibung"]; 
$product["bild"] = $row["bild"]; 
    $product["preis"] = $row["preis"]; 

$products[] = array_map(function ($string) { return mb_convert_encoding($string, 'Windows-1252', 'UTF-8'); }, $product); 
} 
$data = array(
//'success' => 1, 
'products' => $products 
); 

    } 
echo json_encode($data); // make it slightly more readable 
?> 

ответ

1

окно 1252, а также латинское 1, 2, 15

для разрешения нескольких кодировок вы должны переключиться на utf8. И делайте это на всех этапах вашего кода.

+0

Ну, у меня есть данные в базе данных mysql. Я извлекаю его из php с помощью этого: BufferedReader in = new BufferedReader (новый InputStreamReader (urlConnection.getInputStream(), "UTF-8")); , и я изменил код выше и на utf-8. Тем не менее php возвращает только то, что похоже на латинский-1. –

+0

'' в html. 'CHARACTER SET utf8' в столбце/таблице. –