存储和检索特殊字符mysql


storing and retrieve special characters mysql

可能重复:
如何选择外语mysql查询?

我无法在mysql表中的文本旁边存储像这样的字符,但我将排序规则更改为utf8-bin,我现在可以存储它们,但当我检索文本时,它显示?字符,有什么方法可以将这些字符与普通字符一起存储并检索它们吗?更改排序规则会影响搜索该文本的准确性吗?

您需要确保所有内容都在utf8:中

  • 数据库
  • 数据库连接(在建立连接后,类似于PDO/PHP中的$db->exec('SET CHARACTER SET utf8');
  • 如果您正在使用php,那么您的php文档
  • 您的html输出

我也遇到了同样的问题。在从数据库检索数据之前,您需要发出这些查询。

mysql_query("set character_set_server='utf8'");
mysql_query("set names 'utf8'");

在将HTML回显到网页之前,请将页面字符集设置为UTF-8。

header('Content-Type: text/html; charset=UTF-8');

尝试使用htmlenties()函数。它将把所有适用的字符编码到html实体中。

http://php.net/manual/en/function.htmlentities.php