我将以下数据存储在mysql表的“call_dtls”字段中。此数据存储为TEXT
数据类型。使用来自PHP生成页面的<textarea>
控件提交数据。
用于在mysql中存储数据的代码:
$mycalltext = mysql_real_escape_string($_POST['text']);
// then storing $mycalltext in the table
存储在表中的数据(每行存储在单独的表行中):
SANDY505™ (09-11-11 10:04:47): buy hinduniliver around 385-383 sl 380 trgt 390-393 SANDY505™ (09-11-11 10:05:57): buy tatasteel around 472-468 sl 464 trgt 476-480 SANDY505™ (09-11-11 10:06:09): buy nifty around 5295-5280 sl 5260 trgt 5320
当其他页面稍后获取并显示数据时,™将被替换为 ,并且所有内容都显示为单行(忽略换行符)。例如:
SANDY505� (09-11-11 10:04:47): buy hinduniliver around 385-383 sl 380 trgt 390-393 SANDY505� (09-11-11 10:05:57): buy tatasteel around 472-468 sl 464 trgt 476-480 SANDY505� (09-11-11 10:06:09): buy nifty around 5295-5280 sl 5260 trgt 5320
我希望输出为(包括换行符):
SANDY505™ (09-11-11 10:04:47): buy hinduniliver around 385-383 sl 380 trgt 390-393 SANDY505™ (09-11-11 10:05:57): buy tatasteel around 472-468 sl 464 trgt 476-480 SANDY505™ (09-11-11 10:06:09): buy nifty around 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;
答案 0 :(得分: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" />
答案 1 :(得分:0)
得到它......: - )
php函数nl2br()为我做了这个。解决了这两个问题......
通过Google搜索获得此信息,并在this site
找到解决方案感谢@outis有关错误消息的解释。
答案 2 :(得分:0)
通常,HTML中的white-space会折叠。异常位于<pre>
元素和CSS white-space
属性不是“正常”的元素内(特别是,仅当white-space
为“pre”时才会保留换行符,“预包装“和”预行“)。
在多行上显示内容是一个演示问题;不要使用HTML来获得你想要的效果。相反,选择最合适的元素来定义数据的结构。例如,样本看起来是无序列表,在这种情况下<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输出中使用语义元素并且不一定适用于生产代码的示例。在开发过程中,应将不同的concerns分成不同的模块。