1

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

我正在研究drupal 6。

除了重音字母外,它运行良好(感谢之前关于 stackoverflow 的问题)。

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

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

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

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

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

Soo,如果你能帮我创建带有重音字母的术语和标题,那就太好了:)

谢谢 !

4

2 回答 2

2

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

使用 Drupal,所有内容都以UTF-8 字符集编码(和预期)

不确定它会解决/解决您的问题,但您应该确保应用程序中的所有内容都使用/在 UTF-8 中工作:

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


我已经遇到过几次在重音字符之前剪切字符串的问题,并且每次都确保字符串是在 UTF-8 解决它时传递的——所以也许它也对你有用^^

于 2010-03-12T05:46:56.277 回答
1

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

首选项 > 常规 > 工作区,将“文本文件编码”设置为“其他:UTF-8”。

于 2011-08-01T09:35:52.000 回答