如何防止非ASCII字符保存在Drupal数据库中?
题
我注意到,在Drupal中,在一些用户将内容输入节点的正文之后,引号和撇号等字符被保存为:“”
这是由于用户输入奇数字符或其他东西的原因...
- 这是否意味着Drupal数据库尚未为UTF8配置?
- 如何对此进行纠正,因此实际上保存为“仅保存”?
更新事实证明,就我而言,解码的字符是我下载Drupal MySQL数据库转储的结果,该数据库被保存为ASCII并将其加载到MySQL中以重新填充数据库。这发生了两次,一次是我迁移托管的时候,第二次我弄乱了DB并必须手动恢复。
解决方案是您正在使用Drupal备份和迁移模块,然后下载备份文件,必须手动还原是在记事本或从ASCII中将文件转换为UTF8。我对此进行了测试,它起作用。
解决方案
’ “
是UTF-8编码 ’ “
误解为Windows-1252(不是 拉丁-1)。
这是否意味着Drupal数据库尚未为UTF8配置?
那是一种可能性。其他是:
- 将数据放入数据库的程序被打破了。
- 从数据库中检索数据的程序被损坏。
其他提示
- 这是否意味着Drupal数据库尚未为UTF8配置?
我会说这是数据库表最有可能的可能性 latin1
. 。看一看。另外,也可能是数据库 联系 不是编码UTF-8(发送 SET NAMES utf8;
查询有时会有所帮助。)
不隶属于 StackOverflow