簡體   English   中英

PHP htmlentities無法正常工作? 輸出是?

[英]PHP htmlentities not working? output is?

我正在嘗試在MySQL數據庫中存儲一些數據。 當我嘗試輸入特殊字符甚至是ø或звяф等外來字符時,我希望將它們存儲為html實體(例如ő)

我以為它很簡單,只使用htmlentities(),但是當我存儲數據時,我什么也沒得到? 在數據庫中。

有任何想法嗎?

這是我現在使用的代碼:

$sqlOrder="INSERT INTO data (
        bad, cname, lor
    )
    VALUES (
        '".htmlentities($b->getBad(), ENT_COMPAT, 'UTF-8')."', '".htmlentities($b->getCName(), ENT_COMPAT, 'UTF-8')."', '".htmlentities($b->getLor(), ENT_COMPAT, 'UTF-8')."'
    )";

如前所述,數據庫中的結果為????????? 用於任何特殊字符,例如кршуцкыя或æåø。

數據庫的數據整理是什么? 默認情況下,大多數MySQL為新創建的數據庫安裝set latin1_swedish_ci而不是utf8_general_ci

更改數據庫的排序規則,然后重試。

ALTER DATABASE [name of your database] CHARACTER SET utf8;

如果這是一個特定的表,則排序規則可以更改為:

ALTER TABLE [name of your table] CONVERT TO CHARACTER SET utf8;

如果它是表中的特定列:

ALTER TABLE [name of your table] MODIFY [name of your column] [other settings] CHARACTER SET utf8 COLLATE utf8_general_ci;

或者,您可以導出當前數據庫,使用此命令創建新數據庫並重新導入數據:

CREATE DATABASE [name of your database] CHARACTER SET utf8 COLLATE utf8_general_ci;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM