Php 字符显示精细,然后插入带有问号的mysql
我正在尝试使用PHP解析一个文本文件 在我的数据库中,我的数据在phpmyadmin中显示如下Php 字符显示精细,然后插入带有问号的mysql,php,mysql,sql,character-encoding,Php,Mysql,Sql,Character Encoding,我正在尝试使用PHP解析一个文本文件 在我的数据库中,我的数据在phpmyadmin中显示如下Triste o melancólico 一旦检索到它,它就会在我的网站上显示得很好 现在,当我试图解析这个文本文件时,问题来了。我会有一个词,比如etimolgia 现在,我加载文本文件,对其进行解析,如果我将解析后的数据回显到页面上,它将显示良好的,没有问号/不需要的字符来代替í。问题是,如果我将数据插入数据库,特殊字符I将切换为问号 我试过使用 mysql_query("SET CHARACTE
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不起作用时:
希望这会对您有所帮助。这似乎解决了新条目的问题,但损坏了所有以前条目的显示,如果您设置回以前的值,数据将恢复到原来的状态?如果是的话,您似乎应该按照我上面给您的说明创建一个新表,然后将旧表中的所有数据移到该表中。在您这样做之前,您是否尝试过同时使用utf8\U unicode\U ci?还有utf8\u general\u ci?那么你试过我下面的建议了吗?我在插入之前使用了iconv(“ISO-8859-1”、“UTF-8”和$text)来解决这个问题,尽管您的解决方案也同样不错