Php Utf-8字符串赢得';我不能同样地皈依。我想所有的刮擦文本成为相同的保存在数据库中
我在编码方面有很大的问题。我正在用Php Utf-8字符串赢得';我不能同样地皈依。我想所有的刮擦文本成为相同的保存在数据库中,php,utf-8,character-encoding,file-get-contents,encode,Php,Utf 8,Character Encoding,File Get Contents,Encode,我在编码方面有很大的问题。我正在用file\u get\u contents()从其他一些网站上抓取文本。引号变成特殊的奇数字符或问号。但奇怪的是,来自不同站点的一些文本是utf-8,但当我收到它们时,引号就变成了不同的东西。当我运行utf8\u decode()时,来自一个utf-8文本的引号将变为引号。机器人在另一个utf-8文本从另一个网站它成为一个问号 是否有任何方法可以修复所有文本,以便在我将其保存到db时看起来良好 数据库表中的字符集是latin1\u-swedish\u-ci,我尝
file\u get\u contents()
从其他一些网站上抓取文本。引号变成特殊的奇数字符或问号。但奇怪的是,来自不同站点的一些文本是utf-8,但当我收到它们时,引号就变成了不同的东西。当我运行utf8\u decode()
时,来自一个utf-8文本的引号将变为引号。机器人在另一个utf-8文本从另一个网站它成为一个问号
是否有任何方法可以修复所有文本,以便在我将其保存到db时看起来良好
数据库表中的字符集是latin1\u-swedish\u-ci
,我尝试将其更改为utf8\u-unicode\u-ci
,但没有任何区别
编辑:
我现在已经尝试了更多。这两种方法适用于不同的文本。这一条适用于一个文本:
$source=utf8\u encode($source)代码>
这是为其他人工作的:
$source=mb\u convert\u编码($source,'HTML-ENTITIES','utf-8')代码>
但你不能把这两条线都穿过去。他们不在一起工作。他们为了彼此摧毁了其他人
不带任何编码的Printscreen(文本为瑞典语):
编辑:
仅供参考:我现在已将表更改为utf8\u unicode\u ci
。但是,仍然不起作用。以下是我尝试过的所有函数:
实际上,如果我把它放在这里,大多数文本都是用正确的字符输出的。它只是一些地方,“
变成了”
你能把你用print\r抓取的代码转储掉吗
注意:html页面必须具有正确的元字符集才能正确显示unicode字符
<head>
<meta charset="UTF-8">
</head>
看一看听起来很相似:也许这有助于在解码之前清除源代码在使用\ForceUTF8\Encoding;
上出现语法错误。该人否决了这一点。请鼓励。页面是否需要正确的元字符集,即使是像
这样的文本字段?我正在打印它们。我现在在上面的帖子中添加了一个打印屏幕..Ev任何东西都是瑞典语。内容类型是UTF-8是的。是的,无论您决定在哪里输出数据(甚至在inputbox的属性值内),都应该根据DB排序规则声明meta字符集。我只是希望进入DB的所有文本都是相同的类型…不知道该怎么做:/