mysql()拒绝在php中读取字符

mysql()拒绝在php中读取字符,php,mysql,unicode,Php,Mysql,Unicode,我将word中的一些代码复制到我的数据库中,当我想用php中的mysql()检索这些代码时,会出现问题。我已经确定了问题所在,像这样的破折号会导致检索错误: Tue – Thur: 我必须将破折号转换为以下破折号,以便mysql()能够检索它:(这几乎是不可见的,但它导致了一个错误,我花了一些时间才弄清楚发生了什么) 这也会导致一个错误: it’s 但不是这个: it's course...much more 这一点也造成了一个问题: course…much more! 我必须把它改

我将word中的一些代码复制到我的数据库中,当我想用php中的mysql()检索这些代码时,会出现问题。我已经确定了问题所在,像这样的破折号会导致检索错误:

Tue – Thur: 
我必须将破折号转换为以下破折号,以便mysql()能够检索它:(这几乎是不可见的,但它导致了一个错误,我花了一些时间才弄清楚发生了什么)

这也会导致一个错误:

it’s
但不是这个:

it's
course...much more
这一点也造成了一个问题:

course…much more!
我必须把它改成这个:

it's
course...much more
因为有时我不得不将大量文本复制到数据库中,我很难发现是哪部分文本造成了问题。有时看起来几乎一样。 所以,我的问题是,有没有人知道我可以使用什么工具或东西来粘贴文本,它可以帮助我指出有问题的字符在哪里,或者将它们更改为不会引起问题的字符

注意


现在我知道为了解决这个问题,我必须将插入数据库的字符串的编码从Unicode更改为UTF8。你知道如何转换该字符串吗?

尝试粘贴到记事本中,然后在粘贴到数据库中之前再次复制

还有html页面上的编码是什么


可能有助于

将此Unicode字符串转换为utf8我发现了一个php函数
utf8\u decode
,在您将字符串与Unicode字符一起传递后,任何奇怪的字符都将设置为“?”,以便我更容易识别它们

mysql表的编码是什么?是否使用类似于
mysql\u查询(“SET NAMES'utf8'”)的东西?首先,我没有提供php代码,因为这与我无关,因为我不打算更改代码。我只是想知道是否有办法识别那些奇怪的字符,这样当我将来面对这个问题时,我就知道如何修复它了。@Onimusha所有这些答案都无关紧要,因为我不打算更改代码,也不打算更改我在数据库中存储东西的方式或其他任何方式。我知道问题是什么,也知道是什么原因造成的。我只需要有一种方法将Unicode转换为UTF8,这样我就可以存储它们,并且不会有任何问题。@bobince我想知道,如果我只需要将Unicode转换为UTF8,为什么这里的错误消息会很重要。我没有使用mysql\u set\u charset,因为我不打算以任何方式更改代码。不过我想更改的是我在数据库中用于这些值的编码格式。如果您从word中另存为*.txt,您可以选择要使用的编码,其中一个选项是UTF8。这个答案与mysql或问题无关