0

Using tinymce for content, it works fine on local server but break formatting on remote server.

saving content:

mysql_real_escape_string( htmlentities($slide_name,ENT_QUOTES,'UTF-8'))

when retrieve:

html_entity_decode($slide_name, ENT_QUOTES,'UTF-8')

on local server it display content correctly:

<p><strong style="text-decoration: underline;">Contact:</strong> 0000-<span style="color: #ff0000;">245</span></p>

on remote (after 1st update):

<p><span style="\"><strong style="\">Contact:</strong></span> 0000-<span style="\">245</span></p>

use utf8_general_ci collation for both databases (remote/local)

4

1 に答える 1

0

多くの検索とトビー・アレンのヒントの後、私は解決策を見つけました。
ここに問題
magic_quotes_gpcがありました:ONリモート サーバー上にあり、ローカル サーバー上にありmagic_quotes_gpcましOFFた。

PHP 構成レベルまではリモート サーバーを制御できないため、magic_quotes_gpc ランタイムを OFF にする必要があります。

php.netからコード スニップを見つけました

<?php
if (get_magic_quotes_gpc()) {
    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
    while (list($key, $val) = each($process)) {
        foreach ($val as $k => $v) {
            unset($process[$key][$k]);
            if (is_array($v)) {
                $process[$key][stripslashes($k)] = $v;
                $process[] = &$process[$key][stripslashes($k)];
            } else {
                $process[$key][stripslashes($k)] = stripslashes($v);
            }
        }
    }
    unset($process);
}
?>

可能であれば、php.ini を使用して magic_quotes_gpc をオフにします。それ以外の場合は、上記のような関数を使用して、magic_quotes_gpc ランタイムをオフに切り替えることができます。

将来の検索者のためにこの回答を投稿しています。

于 2013-01-24T10:51:34.130 に答える