Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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/8/file/3.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_Character Encoding - Fatal编程技术网

Php MySql西班牙语字符数据

Php MySql西班牙语字符数据,php,mysql,character-encoding,Php,Mysql,Character Encoding,我有一个包含西班牙语字符的数据库。为了填充数据库,我从客户端页面获取值,该页面的字符编码为UTF-8。当我在mySql数据库中插入这些值时,这些行包含修改过的数据。例如,如果我插入'México',数据库中的条目是'MÃxico'。这样做的影响是,当我在指定“México”的表上执行查询时,没有得到任何结果。我的问题是如何在mysql数据库中插入西班牙语或其他拉丁口音?我已经尝试了所有的排序规则,htmlentities()等,但没有任何效果!! 在进行mysql查询时,我检查了发送的是什么数据

我有一个包含西班牙语字符的数据库。为了填充数据库,我从客户端页面获取值,该页面的字符编码为UTF-8。当我在mySql数据库中插入这些值时,这些行包含修改过的数据。例如,如果我插入'México',数据库中的条目是'MÃxico'。这样做的影响是,当我在指定“México”的表上执行查询时,没有得到任何结果。我的问题是如何在mysql数据库中插入西班牙语或其他拉丁口音?我已经尝试了所有的排序规则,htmlentities()等,但没有任何效果!!
在进行mysql查询时,我检查了发送的是什么数据,并且数据的格式是正确的“México”,但是当我通过phpmyadmin看到表条目时,它被修改了

首先检查两件事:

  • 您是否将数据作为UTF-8插入?如果数据来自某个网页,请确保该网页的编码设置为UTF-8(在页眉中设置了编码元标记)
  • 您确定数据未保存为Unicode格式吗?情况正好相反:如果phpMyAdmin使用的不是UTF-8,则在显示内容时会看到乱码

将mysql数据库/表/列编码更改为UTF-8(并将排序规则设置为兼容值)

连接时,还要在PHP端指定字符集

mysql_set_charset('utf8',$conn); 

查看更多信息和脚本,以批量更改数据库中的每个表/列。

我和您在同一个问题上浪费了4个小时

一切都在UTF-8中

例如:

它接受重音符号,将其转换为html字符,然后将其转换回UTF-8

这是一个伟大的黑客,它的作品完美


出于某种莫名其妙的原因,我的MYSQL数据库中的数据不是UTF-8格式,尽管我采取了一些极端措施,如将数据导出到phpmyadmin中的文本文件中,将其保存为UTF-8并在文本编辑器中重新导入。所有这些都不起作用

您的表的字符编码可能不是UTF-8。我的表排序规则是utf8\U general\U ci…是否相同?我的意思是字符编码和排序是一样的?谢谢链接…我可以设置我的表格字符编码吗?解释如何获取Mojibake。在插入之前,我会以所需的形式回显数据及其格式…抱歉,我无法获得您的第二点…我需要检查数据是否保存为unicode或nt吗?如果页面编码错误,回显数据不一定会告诉您任何信息。Anthony在数据库中插入项目后,我无法查询我的数据库…类似于该值与我提供的值和数据库中的值不匹配!!我也在这个表格中发布了这个问题…不要用knw hw来发布链接萨尔曼,你在查询时是否也在PHP端设置了utf8编码?(第二段代码)。必须始终使用相同的编码(在本例中为utf8)。如果使用utf8进行插入,并使用默认字符集(可能是ISO-8859-1)进行查询,则无法正常工作。请看一下PHP手册。not working:/另外,您是否有PHP命令的PDO版本?
mysql_set_charset('utf8',$conn); 
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
$content = htmlentities($row[mystring], ENT_QUOTES, "ISO-8859-1");
$content = html_entity_decode($content);