php - 字符显示正常,然后插入 mysql 时带有问号

标签 php mysql sql character-encoding

我正在尝试使用 PHP 解析文本文件。

在我的数据库中,我的数据在 phpmyadmin 中显示如下 Triste o melancólico

一旦检索到它,它就会在我的网站上正常显示。

现在,当我尝试解析这个文本文件时,问题就出现了。我会有一个词,例如 Etimología

现在我加载文本文件,解析它,如果我将解析的数据回显到页面,它将显示良好,没有问号/不需要的字符来代替 í 。问题是,如果我将数据插入到我的数据库中,特殊字符 í正在切换为问号。

我尝试过使用

mysql_query("SET CHARACTER SET utf8");

在我的sql连接之后,但没有什么区别。

当带有特殊字符的现有文本工作正常时,是否有人知道为什么带有特殊字符的新文本被插入为问号?

谢谢

最佳答案

仅当 utf8_general_ci 不起作用时,才在 mysql 数据库中尝试一些不同的设置,例如 utf8_general_ci 或 utf8_unicode_ci :

  1. 登录 phpMyAdmin。从左侧列表中选择数据库。
  2. 点击顶部选项卡组中的“操作”。
  3. 在“排序规则”框中,从下拉菜单中选择新的排序规则 utf8_general_ci 就可以,但如果您已经有了该排序规则但仍然遇到问题,请尝试使用 utf8_unicode_ci 也许可以解决您的问题。
  4. 点击“开始”,看看是否能解决您的问题

希望这对您有帮助。

关于php - 字符显示正常,然后插入 mysql 时带有问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976710/

相关文章:

PHP 通过 PDO 释放内存

PHP Search_Array使用通配符

sql - 使用 SQL 选择最后付款日期

SQL LEFT JOIN 清空左表列

php - Symfony2 从具有多对多关系的倒置实体中获取对象

php - mongoDB 以微秒为单位获取查询的执行时间

php - 请检查更新查询不起作用。我是 Mysql 新手,请

mysql - Where 条件不适用于 MySQL union 2 表

c# MySqlCommand 似乎没有解析参数

java - 使用 JSQLParser 识别 SQL 中的函数调用