Php 将非标准符号正确保存到数据库

Php 将非标准符号正确保存到数据库,php,encoding,Php,Encoding,有时,当您必须从某个地方复制粘贴数据并将其粘贴并存储在数据库中时,一些非标准符号也会被复制,它们会破坏页面。我知道使用htmlspecialchars、htmlentities等函数可以正确地对html符号进行编码,如/、',“,-etc,但当我试图复制内容并将其粘贴到文本框中以保存时,某些字符无法识别,并且无法保存任何内容。这些字符看起来像连字符、双引号和单引号,但它们不是标准字符。例如,在(儿童-申请表)文本中,破折号实际上不是连字符或双连字符。类似地,in(…卡钳安装在每个车轮上,带有两个

有时,当您必须从某个地方复制粘贴数据并将其粘贴并存储在数据库中时,一些非标准符号也会被复制,它们会破坏页面。我知道使用htmlspecialchars、htmlentities等函数可以正确地对html符号进行编码,如/、',“,-etc,但当我试图复制内容并将其粘贴到文本框中以保存时,某些字符无法识别,并且无法保存任何内容。这些字符看起来像连字符、双引号和单引号,但它们不是标准字符。例如,在(儿童-申请表)文本中,破折号实际上不是连字符或双连字符。类似地,in(…卡钳安装在每个车轮上,带有两个TMC的盘式制动器)不是单引号,而是看起来像它。我已经应用了所有正确的PHP函数,但是这些无法识别的字符没有保存在db中。那么如何处理这些符号以及其他可能的符号呢?

我的问题的答案是我没有在我的页面中添加utf-8编码,而且MYSQL db需要从deault latin\u swedish\u ci保存到utf8\u general\u ci,并使用mysqli\u real\u escape\u string()函数正确保存数据。

保存时使用占位符(防止所有SQL注入)。使用时使用转义(防止所有HTML注入)。如果使用Unicode,请确保启用/使用UTF[-8]编码(视情况而定)。这听起来更像是字符编码的典型问题。