[英]encode & decode html code from mssql in php
我剛剛在我的網站上添加了一個 WYSIWYG 編輯器,這樣我的用戶就可以以他們想要的任何方式格式化他們的內容。 編輯器工作正常,並成功地將 html 編碼的內容保存在數據庫中。
問題是當我嘗試從 MSSQL 數據庫查看內容時,它在網頁上顯示如下:
�fa)2016-03-16 12:35:19.000Pg;e)@��+�!!P�P+�fa ��`��,�!H+�H+� �����,�1 � �||�`���X���sql�1 m!���1rsode!!htmlspecialchars_decode!flyerflyer9
���9����X� ������x�����`��1�r~����X�����id!1+!connection.phpflyer_id,� x����,�hpr_id,� x����,�) ����a)���]�� �|����*?���@B�r~�������������Ya�v�&������C:\inetpub\wwwroot\123\test_en_de.phpY43ectsql�9SELECT * FROM flyer_master Where flyer_id = '9����#����)`!�@#��,��,��,��)' ��Errorresultodbc_exec� h����,�
顯示內容的php代碼為:
<?php
include("connection.php");
$flyer_id = 43 ;
$sql = ("SELECT * FROM flyer_master Where flyer_id = '".$flyer_id."' ") or die ("Error");
$result=odbc_exec($connect,$sql)or die(exit("Error en odbc_exec"));
while(odbc_fetch_row($result))
{
$id = odbc_result($result,1);
$name = odbc_result($result,2);
$flyer = odbc_result($result,3);
}
echo $flyer;
//$a = htmlentities($flyer);
echo "<br>";
echo htmlspecialchars_decode(flyer);
//echo $de_code = html_entity_decode($flyer);
//echo $de_code = htmlspecialchars($flyer ,ENT_QUOTES, 'UTF-8');
?>
你能幫我更正這段代碼,以便正確顯示 html 編碼的文本嗎? 或者,還有其他方法可以做到這一點嗎?
注意我使用的是 php+odbc+Microsoft SQL Server 2008 R2 (RTM)。
您可以使用 utf-8 編碼
我需要從一項特定的虛擬主機服務中訪問數據庫。 頁面采用 UTF-8 編碼,表單接收的數據應插入數據庫而不更改編碼。 數據庫也是UTF-8。
SET 字符集 'utf8' 或 SET 名稱 'utf8' 在這里都不能正常工作,因此此解決方法確保所有變量都設置為 utf-8。
<?php
// ... (creating a connection to mysql) ...
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);
$re = mysql_query('SHOW VARIABLES LIKE "%character_set%";')or die(mysql_error());
while ($r = mysql_fetch_assoc($re)) {var_dump ($r); echo "<br />";} exit;
?>`
所有重要的變量現在都是 utf-8,我們可以安全地使用 INSERT 或 SELECT 和 mysql_escape_string($var) 而沒有任何編碼函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.