0

我将以下数据存储在 mysql 表的“call_dtls”字段中。此数据存储为TEXT数据类型。<textarea>使用来自 PHP 生成页面的控件提交数据。

mysql中存储数据的代码:

$mycalltext = mysql_real_escape_string($_POST['text']);
// then storing $mycalltext in the table

存储在表中的数据(每行存储在单独的表行中):

SANDY505™ (09-11-11 10:04:47):在 385-383 sl 380 trgt 390-393 左右购买 Hinduniliver
SANDY505™ (09-11-11 10:05:57):在 472-468 sl 464 trgt 476-480 附近购买 tatasteel
SANDY505™ (09-11-11 10:06:09): 在 5295-5280 sl 5260 trgt 5320 附近买漂亮的

当另一个页面稍后获取并显示数据时,™ 被替换为 �,并且所有内容都显示为一行(忽略换行符)。例子:

SANDY505(09-11-11 10:04:47):在 385-383 sl 380 trgt 390-393 附近购买hinduniliver trgt 476-480 SANDY505� (09-11-11 10:06:09): 在 5295-5280 sl 5260 trgt 5320 附近购买漂亮的 

我希望输出为(包括换行符):

SANDY505™ (09-11-11 10:04:47):在 385-383 sl 380 trgt 390-393 左右购买 Hinduniliver
SANDY505™ (09-11-11 10:05:57):在 472-468 sl 464 trgt 476-480 附近购买 tatasteel
SANDY505™ (09-11-11 10:06:09): 在 5295-5280 sl 5260 trgt 5320 附近买漂亮的

产生输出的代码:

$rs=mysql_query("Select * from mya_calls", $cn) or die("MySQL error: ".mysql_errno());
$number=mysql_num_rows($rs); 
while ($rsitem=mysql_fetch_object($rs)) 
    echo $rsitem->call_dtls;
4

3 回答 3

1

仔细检查数据库连接编码和输出 HTML 的编码是否与数据库上的编码匹配(可能是 UTF-8)

数据库连接:

mysql_query('SET CHARACTER SET utf8, NAMES utf8');

输出标题:

header('Content-type: text/html;charset=utf-8');

HTML:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
于 2011-11-17T12:54:49.810 回答
0

知道了...... :-)

php 函数nl2br () 为我执行此操作。解决了这两个问题.....

从谷歌搜索得到这个并在这个网站上找到了解决方案

感谢@outis 对错误信息的解释。

于 2011-11-18T13:56:03.533 回答
0

通常, HTML 中的空白是折叠的。例外情况是在CSS属性不是“正常”<pre>的元素和元素中(特别是,只有在“pre”、“pre-wrap”和“pre-line”时才保留换行符)。white-spacewhite-space

在多行上显示内容是一个演示问题;不要使用 HTML 来获得你想要的效果。相反,选择最合适的元素来定义数据的结构。例如,样本看起来是一个无序列表,在这种情况下 a<ul>是合适的。

try {
    $result = $db->query("SELECT call_dtls FROM mya_calls");
    $result->setFetchMode(PDO::FETCH_CLASS, 'StdClass');
    ?>
    <ul>
      <?php foreach ($result as $item) { ?>
        <li><?php echo $item->call_dtls; ?></li>
      <?php } ?>
    </ul>
    <?php
} catch (PDOException $exc) {
    ...
}

完成后,如有必要,使用 CSS 设置元素的样式。

请注意,示例代码是如何在 HTML 输出中使用语义元素的示例,不一定适用于生产代码。在开发中,不同的关注点应该被分成不同的模块。

于 2011-11-22T03:40:35.403 回答