Exemple #1
0
function convertEncoding($arr, $toEncoding, $fromEncoding = '', $convertKey = false)
{
    /*{{{*/
    if (empty($arr)) {
        return $arr;
    }
    if ($toEncoding == $fromEncoding) {
        return $arr;
    }
    if (is_array($arr)) {
        $keys = array_keys($arr);
        for ($i = 0, $max = count($keys); $i < $max; $i++) {
            $key = $keys[$i];
            $res = $arr[$key];
            if ($convertKey) {
                unset($arr[$key]);
                $key = mb_convert_encoding($key, $toEncoding, $fromEncoding);
            }
            if (is_array($res)) {
                $res = convertEncoding($res, $toEncoding, $fromEncoding, $convertKey);
            } else {
                $res = mb_convert_encoding($res, $toEncoding, $fromEncoding);
            }
            $arr[$key] = $res;
        }
    } else {
        $arr = mb_convert_encoding($arr, $toEncoding, $fromEncoding);
    }
    return $arr;
}
Exemple #2
0
<?php

$cube_db = new mysqli('localhost', 'root', '', 'parfumerie');
$cube_db->set_charset('ISO-8859-2');
$stmt = $cube_db->prepare('select description from cubecart_inventory where productId = 14');
$stmt->execute();
$result = $stmt->get_result();
if ($row = $result->fetch_assoc()) {
    $description = $row['description'];
}
$stmt->close();
echo $description;
echo '<br/>';
function convertEncoding($str, $encfrom, $encto)
{
    //return $str;
    //$str2 = mb_convert_encoding($str, $encto, $encfrom);
    $str2 = iconv($encfrom, $encto, $str);
    echo sprintf('<b>from: %s, to: %s</b><br/>', $encfrom, $encto);
    echo $str2;
    echo '<br/>';
}
$enclist = array('UTF-8', 'ASCII', 'ISO-8859-1', 'ISO-8859-2', 'ISO-8859-3', 'ISO-8859-4', 'ISO-8859-5', 'ISO-8859-6', 'ISO-8859-7', 'ISO-8859-8', 'ISO-8859-9', 'ISO-8859-10', 'ISO-8859-13', 'ISO-8859-14', 'ISO-8859-15', 'ISO-8859-16', 'Windows-1251', 'Windows-1252', 'Windows-1254', 'Windows-1250', 'latin1');
for ($i = 0, $maxi = count($enclist) - 1; $i < $maxi; $i++) {
    convertEncoding($description, $enclist[$i], 'UTF-8');
    //for ($y = 0, $maxy = count($enclist)-1; $y < $maxy; $y++) {
    //	convertEncoding($description, $enclist[$i], $enclist[$y]);
    //}
}
Exemple #3
0
/**
* Get/Set a $_COOKIE value
*
* @param string $key
* @param string $value The value to set
* @param int $expire A unix timestamp how long the cookie is valid, 0 for session like behaviour
* @return mixed
*/
function cookie($key, $value = null, $expire = 0)
{
    $key = slugify($key);
    if ($value === null) {
        return convertEncoding(arrayValue($_COOKIE, $key));
    }
    $value = (string) $value;
    $_COOKIE[$key] = $value;
    setcookie($key, $value, $expire, CHOQ_RequestManager::$cookieParams["path"], CHOQ_RequestManager::$cookieParams["domain"], CHOQ_RequestManager::$cookieParams["secure"], CHOQ_RequestManager::$cookieParams["httponly"]);
}
Exemple #4
0
		$category->save();
	}
	$stmt->close();			
}	
*/
$stmt = SqlQuery::select($cube_db, 'cubecart_inventory');
if ($stmt) {
    $result = $stmt->get_result();
    while ($row = $result->fetch_assoc()) {
        $product = new Product($db);
        $product->loadByExtId($row['productId']);
        // import new product
        if (!$product->is_loaded) {
            $product->data['product_ext_id'] = $row['productId'];
            $product->data['product_name'] = myTrim(convertEncoding($row['name']));
            $product->data['product_price'] = parseFloat($row['price']);
            $category = loadCategory($row['cat_id']);
            if (isset($category)) {
                $product->data['product_category_id'] = $category->ival('category_id');
            }
            $new++;
        } else {
            $updated++;
        }
        $product->data['product_description'] = convertEncoding($row['description']);
        $product->data['product_image'] = $row['image'];
        $product->save();
    }
    $stmt->close();
}
echo sprintf('Imported %s new, %s updated.', $new, $updated);
unset($zaznamy[1]);
// rozseparuje riadok na predmety
$predmety = preg_split("/;/", $zaznamy[2]);
// ziska zoznam predmetov z riadku, predmety idu ale az od 4 stlpca
$predmety = array_slice($predmety, 3);
// vyhodime grant total
array_pop($predmety);
// spravne kodovanie aby vedel robit match na predmety
convertEncoding($predmety);
// vyhodime aj predmety aby boli len studenti
unset($zaznamy[2]);
$studenti = array();
// kluc bude AIS ID
foreach ($zaznamy as $zaznam) {
    $hodnoty = preg_split("/;/", $zaznam);
    convertEncoding($hodnoty);
    // vyberie zapisane predmety
    $zapisanePredmety = array_slice($hodnoty, 3);
    // zaevidujeme studenta
    $studenti[$hodnoty[AIS_ID]] = array("meno" => $hodnoty[MENO], "priezvisko" => $hodnoty[PRIEZVISKO], "osobne_cislo" => $hodnoty[AIS_ID], "rocnik" => 1, "studijny_program" => 1, "fakulta" => "FIIT STU");
    foreach ($zapisanePredmety as $key => $zapisanyPredmet) {
        // nema na vyber zaznaci si len nazov predmetu
        if ($zapisanyPredmet == "1") {
            $studenti[$hodnoty[AIS_ID]]["zapisane"][] = $predmety[$key];
        }
    }
}
//var_dump($studenti);
//rollback nech neblokuje  ine updaty lebo bol v transakcii
//$dbh->TransactionRollback();
//throw new Exception("TEST ONLY");
/**
 * Converts a file's contents' encoding to desired encoding if it does not match.
 * @param string $filename
 * @param string $desiredEncoding
 */
function convertFileEncoding($filename, $desiredEncoding = 'UTF-8')
{
    $contents = file_get_contents($filename);
    if ($desiredEncoding !== determineEncoding($contents)) {
        file_put_contents($filename, convertEncoding($contents));
    }
}