Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 字符显示精细,然后插入带有问号的mysql_Php_Mysql_Sql_Character Encoding - Fatal编程技术网

Php 字符显示精细,然后插入带有问号的mysql

Php 字符显示精细,然后插入带有问号的mysql,php,mysql,sql,character-encoding,Php,Mysql,Sql,Character Encoding,我正在尝试使用PHP解析一个文本文件 在我的数据库中,我的数据在phpmyadmin中显示如下Triste o melancólico 一旦检索到它,它就会在我的网站上显示得很好 现在,当我试图解析这个文本文件时,问题来了。我会有一个词,比如etimolgia 现在,我加载文本文件,对其进行解析,如果我将解析后的数据回显到页面上,它将显示良好的,没有问号/不需要的字符来代替í。问题是,如果我将数据插入数据库,特殊字符I将切换为问号 我试过使用 mysql_query("SET CHARACTE

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

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

一旦检索到它,它就会在我的网站上显示得很好

现在,当我试图解析这个文本文件时,问题来了。我会有一个词,比如
etimolgia

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

我试过使用

mysql_query("SET CHARACTER SET utf8");
在我的sql连接之后,但这并没有什么不同

有没有人知道为什么带有特殊字符的新文本被作为问号插入,而带有特殊字符的现有文本工作正常


谢谢

在mysql数据库中尝试一些不同的设置,例如utf8\u general\u ci或utf8\u unicode\u ci,仅当utf8\u general\u ci不起作用时:

  • 登录到phpMyAdmin。从左侧列表中选择数据库
  • 单击顶部选项卡集中的“操作”
  • 在“排序规则”框中,从下拉菜单中选择新的排序规则utf8\u general\u ci可以,但是如果您已经有了它,并且仍然存在问题,那么尝试使用utf8\u unicode\u ci可能会解决您的问题
  • 单击Go并查看它是否解决了您的问题

  • 希望这会对您有所帮助。

    这似乎解决了新条目的问题,但损坏了所有以前条目的显示,如果您设置回以前的值,数据将恢复到原来的状态?如果是的话,您似乎应该按照我上面给您的说明创建一个新表,然后将旧表中的所有数据移到该表中。在您这样做之前,您是否尝试过同时使用utf8\U unicode\U ci?还有utf8\u general\u ci?那么你试过我下面的建议了吗?我在插入之前使用了iconv(“ISO-8859-1”、“UTF-8”和$text)来解决这个问题,尽管您的解决方案也同样不错