I'l*_*ack 3 php replace character-encoding
我试图替换£它£,它没有用.
我试过了:
echo str_replace("£", "£", "£3 Discount Discount");
Run Code Online (Sandbox Code Playgroud)
我也尝试过html_entity_decode哪些也行不通.
尝试将UTF-8编码的数据显示为非UTF-8时,这是一个问题.您需要确保所有字符编码都是一致的,如果没有,那么您需要在它们之间进行适当的转换.最简单的方法是确保绝对一切都是UTF-8.这包括:
SET NAMES UTF-8)header('Content-Type: text/html; charset=utf-8');)在检查上面的字符集之前,我首先建议检查数据库中没有任何mojibake(例如使用phpMyAdmin或命令行客户端).如果您发现数据库实际包含£,那么我建议将上述相同的逻辑应用于数据库的任何输入机制(包括HTML表单的字符编码).
(注意:我在整个答案中都假设了MySQL.)