2011-05-04 41 views
0

我想具體的文本字段存儲在HTML相當於form.I數據庫使用了PHP函數問題存儲HTML文本數據庫字段

$str = htmlentities($str, ENT_QUOTES, "UTF-8"); 

其中數據庫特定列有關$str變量Column Charset: utf8 & Column Collate: utf8_bin。但值存儲在相同的BLOB表單中。

回答

1

BLOB根據MySQL是一種數據類型,它與您的字符編碼(utf8)或排序規則不同。如果你想改變的數據類型,你將與查詢數據庫...

ALTER TABLE tbl_name MODIFY col_name TEXT; 

VARCHAR()或任何你想改變它。

+0

,但會自動創建「BLOB」。我使用'Column Charset:utf8&Column Collat​​e:utf8_bin'爲特定的列創建了'text type',但是顯示或瀏覽它時顯示爲'[BLOB - 6 B]'。 – Aditii 2011-05-04 15:05:56

+0

這是因爲你的'Column Charset:utf8'和'Column Collat​​e:utf8_bin'賦值對於你正在做的事情是不正確的。當你創建一個新的表列時,你需要用'ALTER TABLE tbl_name ADD col_name TEXT'查詢,你的數據類型將是'TEXT'。列字符集和歸類將自動分配給表的默認值。 – 65Fbef05 2011-05-04 15:17:13

1

如果您想要數據庫中的文本,請勿使用BLOB字段類型。使用TEXT,VARCHAR等。BLOB用於二進制數據,而您在PHP中做的任何事情都不會改變它存儲在數據庫中的方式。

+1

BLOB很可能被用於文本數據爲好,但沒有字符集轉換將被應用。 – 2011-05-04 14:59:18

0

如果你存儲大量的HTML頁面,使用LARGETEXT()