php mysql保存unicode_使用PHP和MySQL存储和显示unicode字符串(हिन्दी)
我必須將PST文本存儲在MySQL數(shù)據(jù)庫中,使用PHP腳本獲取它并將其顯示在網(wǎng)頁上。我做了以下:
我創(chuàng)建了一個數(shù)據(jù)庫,并將其編碼設(shè)置為UTF-8,并將排序規(guī)則設(shè)置為utf8_bin。
我在表中添加了一個varchar字段,并將其設(shè)置為在charset屬性中接受UTF-8文本。
然后我設(shè)置關(guān)于添加數(shù)據(jù)。這里我不得不從一個existing site復(fù)制數(shù)據(jù)。
詞尾文本看起來像這樣:????????:05:30
我直接將這個文本復(fù)制到我的數(shù)據(jù)庫,并使用PHP代碼echo(utf8_encode($ string))來顯示數(shù)據(jù)。這樣做時,瀏覽器顯示我“??????”。
但是,當(dāng)我通過在瀏覽器中轉(zhuǎn)到“查看源代碼”來插入與UTF文本相同的文本時,????????會轉(zhuǎn)換為????? ???。
如果我輸入并存儲????????在數(shù)據(jù)庫中,它完美地轉(zhuǎn)換。
所以我想知道的是我如何可以直接存儲????????到我的數(shù)據(jù)庫,并獲取它,并顯??示在我的網(wǎng)頁使用PHP。
此外,任何人都可以幫助我理解,如果有一個腳本,當(dāng)我輸入????????,給我?????? ?? ;?
找到解決方案
我寫了以下示例腳本為我工作。希望它幫助別人太
Hindiinclude("connection.php"); //simple connection setting
$result = mysql_query("SET NAMES utf8"); //the main trick
$cmd = "select * from hindi";
$result = mysql_query($cmd);
while ($myrow = mysql_fetch_row($result))
{
echo ($myrow[0]);
}
?>
我的數(shù)據(jù)庫存儲hindi utf字符串的轉(zhuǎn)儲
CREATE TABLE `hindi` (
`data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `hindi` VALUES ('????????');
現(xiàn)在我的問題是,它是如何工作,沒有指定“META”或標(biāo)題信息?
謝謝!
總結(jié)
以上是生活随笔為你收集整理的php mysql保存unicode_使用PHP和MySQL存储和显示unicode字符串(हिन्दी)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java学习(93):线程的创建方法二
- 下一篇: 南邮-2022年6月电子商务练习自整理