我目前在将特殊字符(®&©)保存到MysqL数据库时遇到问题.
在本地堆栈(我的开发机器的本地堆栈)上,操作平稳运行,并且在前端输入的内容将保存为预期的内容.
保存到数据库时,在集中式服务器上使用相同的前端代码,角色将继续使用其他字符保存为®.
查看前端的记录时,这不是问题,因为它会反转它的功能并正确显示.
问题来自另一个使用相同数据库并且不做任何改动的独立系统,因此看起来像是®而不是简单的®.
我混淆的原因是它似乎在我的本地堆栈上工作,但不在集中式服务器上.
我正在寻找关于在我的本地服务器配置上可能导致什么问题的想法.
提前致谢
标记
最佳答案
@Pranav Hosangadi(感谢)涵盖三个方面,以检查编码的一致性.以下解决方案增加了这一点.也许值得考虑(一种变体)@Soaice Mircea的答案(也谢谢)对于某些情况,这个答案并不能解决问题,尽管当我能够重现并找到问题的解决方案时,这不是必需的. @Pranav的思路似乎对这个问题是成功的,因为它是关于在任何地方使用一个字符集而不是特定字符集的一致性.
原文链接:https://www.f2er.com/mysql/434041.html五件事要做:
>确保数据库字符集和表格在整个过程中使用相同的字符集,例如在PHPmyadmin中检查它,注意和下面使用的字符集
>使用带有数据库字符集的PHP header()函数,例如:
header('Content-Type: text/html; charset=latin1_swedish_ci');
<Meta http-equiv="content-type"
content="text/html;charset=latin1_swedish_ci">
>设置MysqL连接的charset例如:
$con = MysqL_connect("localhost","test","test");
MysqL_set_charset ( "latin1_swedish_ci",$con );