Autor Zpráva
Flashista
Profil *
Ahoj,
potřebuji v mysql opravit názvy z
Návleky ruce AS-9 XS-S
na
Návleky ruce AS-9 XS-S
ale nevím jak bych to mohl pomocí php opravit, poradí někdo jaké to je kodování nebo nejake bližší info co hledat? Děkuji
Alphard
Profil
html_entity_decode()
Flashista
Profil *
Alphard:
Děkuji za pomoc, sice to funguje ale nějak divně..

echo $bbb = htmlspecialchars_decode("jednoduché");
tohle vypíše: jednoduché


když to ale uložím do mysql tak se uloží jednoduché
mysql_query("UPDATE `product` SET name = '$bbb' WHERE product_id = '10'")


tak co dělám špatně?

Díky...
blaaablaaa
Profil
Flashista:
Pouzivas htmlspecialchars_decode misto html_entity_decode
Flashista
Profil *
Hm ani html_entity_decode nepomohlo..

$a = html_entity_decode("Rám Revolt 29 '11 17);
echo $a; 
vypíše: R�m Revolt 29 '11 17


ale do mysql se uloží jen jeden znak - R

to fakt nechápu :(
etexweb
Profil
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<?
$enita = html_entity_decode("R&aacute;m Revolt 29 '11 17 &raquo;");
return $enita; 
//$this->db("insert...");
?>

Pozor na kódovanie stránky, zavisí od toho kodovanie znakov pri inserte do databazy.
http://php.net/manual/en/function.mysql-set-charset.php
Flashista
Profil *
etexweb:
No dobře, ale proč se můj #3 příspěvek neuloží do mysql tak jak ho vidím na obrazovce? A na obrazovce ho vidím správně...
Tori
Profil
Flashista:
A na obrazovce ho vidím správně
"Na obrazovce" = zdroják anebo zobrazená stránka?

etexweb:
...array a jednotlivo nahradovať pomocou str-replace
Možná strtr a get_html_translation_table bude rychlejší.
Flashista
Profil *
Tori:
"Na obrazovce" = zdroják anebo zobrazená stránka?
no... máš pravdu, ve zdrojáku to je taky špatně :(
Alphard_
Profil *
Tak nevím, kde vám vzniká chyba.
Když si vypíši
<?php
echo html_entity_decode("R&aacute;m Revolt 29 '11 17 &raquo;");

vidím (i v html zdrojáku)
Rám Revolt 29 '11 17 »


Možná můžete zkusit
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<?php
echo html_entity_decode("N&aacute;vleky ruce AS-9 XS-S", ENT_NOQUOTES, 'UTF-8');
Flashista
Profil *
Alphard:
tak ty poslední 2 řádky to řeší.. ale pořád to nejde uložit do mysql.. uloží se prostě N&aacute;vleky ruce AS-9 XS-S
Proš když to vidím dobře, ve zdrijáku je to dobře a do mysql se to uloží blbě:(

Díky
Tori
Profil
Flashista:
Jak to ukládáte? V jednom skriptu přímo z DB do DB:
$res = mysql_query("SELECT id, sloupec FROM tabulka");
while ($row = mysql_fetch_array($res))  {
  mysql_query("UPDATE tabulka SET sloupec = '".html_entity_decode($row['sloupec'], ENT_NOQUOTES, $znakováSadaDatabáze)."' WHERE id = $row[id]");
  if (mysql_affected_rows() > 0)
    echo "<br>řádek s ID $row[id] byl updatován.";
}
, anebo nějakým jiným způsobem? (= Pokud byste použil na ukládání jinou funkci než mysql_query anebo zpracování ve více krocích, formulář apod., mohlo by se někde po cestě nacházet enkódování entit - ale to jen tipuji.)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0