Php 从wordpress导入时drupal中的编码问题
我目前正在将博客文章从wordpress转移到drupal。但是在移动它之后 某些文本未正确显示 wordpress正在显示:Php 从wordpress导入时drupal中的编码问题,php,wordpress,drupal,utf-8,Php,Wordpress,Drupal,Utf 8,我目前正在将博客文章从wordpress转移到drupal。但是在移动它之后 某些文本未正确显示 wordpress正在显示: 当它没有时(html代码是当它没有时) Drupal正在显示: 当它没有™t(html代码是指当它™t) 在wordpress和drupal db中,该值是正确的。来源是相同的。 当它没有™t 我搜索了一下,找到了很多选择。他们都没帮上忙。 下面是我做过并检查过的 1) 我仔细检查了utf-8是否是drupal和wp中的字符编码。 我还制作了一个简单的test.php
当它没有时(html代码是当它没有时)
Drupal正在显示:
当它没有™t(html代码是指当它™t)
在wordpress和drupal db中,该值是正确的。来源是相同的。
当它没有™t
我搜索了一下,找到了很多选择。他们都没帮上忙。
下面是我做过并检查过的
1) 我仔细检查了utf-8是否是drupal和wp中的字符编码。
我还制作了一个简单的test.php文件,以检查没有其他东西会妨碍我
它仍然没有正确显示
2) 当我们获取mysqldump并上传到DrupalUTF-8时,我确保了这一点
使用
3) 我还确保保存时.php文件是utf-8格式的
4) 我在chrome中更改了所有可用选项的编码类型,但什么都没有
正确地显示了它
5) 我还使用了php函数来重新编码,但它们不起作用
$value2="<h2>When it hasn’t</h2>";
$out = recode_string('..utf-8', $value2);
//output - When it hasnt
$out2= mb_convert_encoding($value2,'UTF-8', "UTF-8");
// output - When it hasn’t
$out3= @iconv('UTF-8', 'utf-8', $value2);
// output - When it hasn’t
$value2=“当它没有™t”;
$out=recode_字符串(“…utf-8”,$value2);
//输出-当它没有
$out2=mb_convert_编码($value2,'UTF-8','UTF-8”);
//输出-当它没有
$out3=@iconv('UTF-8','UTF-8',$value2);
//输出-当它没有
我现在已经没有选择了,我被卡住了。请帮助您说这两个数据库中的文本都是正确的,但实际上这并不意味着太多:要查看记录的内容,您必须使用一些客户端,并且根据文本的呈现方式可能会发生很多转换,以便您可以阅读 因此,只有两件事很重要:
™
(CP1252中是xE2x80x99)表示”
(Unicode U+2019,UTF-8是0xE28099)我猜该列确实是UTF-8,但是数据库和浏览器之间有人认为文本是CP1252。这是您必须检查的内容:
- 如果使用MySQL,连接编码必须是UTF-8,这样PHP脚本中的内容就是UTF-8文本。您可以使用
。请注意,如果您不需要Unicode集,甚至可以使用CP1252:唯一重要的是您知道编码,因为PHP字符串只是字节数组设置名称“UTF-8”
- 在HTTP
头中明确定义响应编码。我的意思是,将Drupal配置为调用内容类型
头('Content-Type:text/html;charset=utf-8')代码>
- 如果HTTP响应编码不同于用于从db检索的文本的编码,请相应地对查询结果进行转码