PHP页面无法从mysql值中识别“ø”

问题描述

| 我有一个字段$ name(varchar(128)),其中有一个值“PølseMand \”。 现在,我希望它在值是“PølseMand”时打印一些特殊的东西
<?php 

if ($name==\"Pølse Mand\") { echo \"123\";};


?>
但是由于某种原因,这是行不通的。我还有一个名为\“ Text box \”的值,当我执行此操作时,它可以很好地工作,因此必须是\“ø\”弄乱了内容。 我假设我的php文件中的\“ø\”与ø值在某种程度上有所不同,即使我已经尝试在phpmyadmin中直接逐字母复制它。 MySQL连接排序规则是utf8_unicode_ci,表中的排序规则是latin1_swedish_ci。我试过了:
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf8_unicode_ci\"/>
和瑞典语的one1ѭ,但是just行。     

解决方法

        您正在使用MySql还是MySqli? 对于MySQL,请在请求前使用以下代码:
mysql_set_charset ( \'latin7\' );
要么:
mysql_set_charset ( \'utf8\' );
对于MySQLi:
$mysqli -> set_charset ( \'latin7\' ); //Change $mysqli to your variable name
要么:
$mysqli -> set_charset ( \'utf8\' );
至于
<meta>
标签,请使用:
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
要么:
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-13\"/>
尝试两个选项,然后找出最适合您的选项。     ,        您在客户端使用的是UTF-8,因此必须告知MySQL您使用的是UTF-8。这是通过MySQL命令SET NAMES \'utf8 \'完成的,该命令必须在打开连接时作为第一个查询发送。根据您的安装和在PHP脚本中使用的MySQL客户端库的不同,可以在每次连接时自动完成此操作。
$mysqli = new mysqli(\"localhost\",\"user\",\"password\",\"db\");
$mysqli->set_charset(\"utf8\");
//
$mysql_set_charset(\"utf8\");
    ,        尝试将表编码更改为utf8,并在mysql连接后运行查询:query11ѭ     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...