Drupal node_save和特殊字符

时间:2010-03-12 03:04:17

标签: php drupal drupal-6 taxonomy

我正在尝试使用node_save()函数通过自定义php脚本创建节点和分类术语。

我正在研究drupal 6。

它的效果很好(感谢之前关于stackoverflow的问题),除了重音字母。

实际上,当标题或分类术语包含“é”,“è”或“à”时,句子会在这些特殊字符之前被删除。

例如,像这样的标题:“Bonjourleséléphants”将创建一个以“Bonjour les”作为标题的节点。

我不知道它是否链接到我的数据库,或者我是否必须在php中使用特殊编码(iconv()blabla)

事实是,对于drupal标题,我不能使用html编码(例如:é是html中的é)因为drupal会呈现& eacute而不是é...

当我手动创建分类法或标题时,我没有任何问题,重音字母在数据库中保存为“é”。

如果你可以帮我用重音字母创建术语和标题,那就太棒了:))

谢谢!

2 个答案:

答案 0 :(得分:2)

这种看起来像某种编码/字符集问题...

使用Drupal,UTF-8 charset中的所有内容都编码为(和预期)

不确定它是否会解决/解决您的问题,但您应该确保应用程序中的所有内容都使用/以UTF-8格式化:

  • 包含源代码的PHP文件应为UTF-8
    • 您的IDE /编辑器中可能有一些设置
    • 这将确保您硬编码的字符串也是UTF-8
  • 使用某些外部数据时,在调用node_save之前,必须确保它是UTF-8


我已经遇到了在重音字符前几次切断字符串的问题,而且,每次都确保字符串是以UTF-8解决的 - 所以也许它对你也有用^^ < / p>

答案 1 :(得分:1)

在Eclipse中,您可以将其更改为:

偏好设置&gt;一般&gt;工作区,将“文本文件编码”设置为“其他:UTF-8”。