Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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 - Fatal编程技术网

Php页面可以';“不承认”ø&引用;从mysql值

Php页面可以';“不承认”ø&引用;从mysql值,php,mysql,Php,Mysql,我有一个字段$name(varchar(128)),其中有一个值“pølse Mand” 现在我想让它在值为“pølse Mand”时打印一些特殊的内容 但出于某种原因,这不起作用。我还有另一个名为“文本框”的值,当我用它做同样的事情时,它工作得很好,所以一定是“ø”把事情搞砸了 我假设php文件中的“ø”与值中的ø有所不同,尽管我尝试在phpmyadmin中一个字母一个字母地直接复制它 MySQL连接排序规则是utf8_unicode_ci,表中的排序规则是latin1_swedish_c

我有一个字段$name(varchar(128)),其中有一个值“pølse Mand”

现在我想让它在值为“pølse Mand”时打印一些特殊的内容


但出于某种原因,这不起作用。我还有另一个名为“文本框”的值,当我用它做同样的事情时,它工作得很好,所以一定是“ø”把事情搞砸了

我假设php文件中的“ø”与值中的ø有所不同,尽管我尝试在phpmyadmin中一个字母一个字母地直接复制它


MySQL连接排序规则是utf8_unicode_ci,表中的排序规则是latin1_swedish_ci。我试过:
,用瑞典的,但是它不起作用。

尝试将表编码更改为utf8,在mysql连接运行查询后:
设置名称utf8
尝试将表编码更改为utf8,在mysql连接运行查询后:
设置名称utf8
您在客户端使用UTF-8,因此必须告诉mysql您使用UTF-8。这是通过MySQL命令集名称“utf8”完成的,它必须作为打开连接时的第一个查询发送。根据您的安装和PHP脚本中使用的MySQL客户端库,可以在每次连接时自动完成此操作

$mysqli = new mysqli("localhost", "user", "password", "db");
$mysqli->set_charset("utf8");
//


您在客户端使用UTF-8,因此必须告诉MySQL您使用UTF-8。这是通过MySQL命令集名称“utf8”完成的,它必须作为打开连接时的第一个查询发送。根据您的安装和PHP脚本中使用的MySQL客户端库,可以在每次连接时自动完成此操作

$mysqli = new mysqli("localhost", "user", "password", "db");
$mysqli->set_charset("utf8");
//

您使用的是MySql还是MySqli

对于MySQL,请在请求之前使用以下代码:

mysql_set_charset ( 'latin7' );
或:

对于MySQLi:

$mysqli -> set_charset ( 'latin7' ); //Change $mysqli to your variable name
或:

对于
标记,请使用:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

或:


尝试这两种方法,找出最适合您的方法。

您使用的是MySql还是MySqli

对于MySQL,请在请求之前使用以下代码:

mysql_set_charset ( 'latin7' );
或:

对于MySQLi:

$mysqli -> set_charset ( 'latin7' ); //Change $mysqli to your variable name
或:

对于
标记,请使用:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

或:



尝试这两种方法,找出最适合您的方法。

您尝试过Polse-Mand吗?meta标记不会以任何方式影响php。您验证了$name的值吗?Jrod:是的,已经确认了。echo$name打印出“Pølse Mand”堆栈101:是的,Polse Mand工作正常。我相信“utf8_encode_ci”“是设置字符集的MySQL方式。如果您在PHP文件中尝试这一点,它是否有效。还要确保编辑器将PHP文件保存为utf-8格式,而不是其他格式。您是否尝试过Polse Mand?meta标记不会以任何方式影响php。您验证了$name的值吗?Jrod:是的,已经确认了。echo$name打印出“Pølse Mand”堆栈101:是的,Polse Mand工作正常。我相信“utf8_encode_ci”是MySQL设置字符集的方法。如果在PHP文件中尝试此方法,它是否有效。还要确保编辑器将PHP文件保存为utf-8格式,而不是其他格式。
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-13"/>