问题描述
|
我最近将我的数据库转换为UTF-8,应该首先将其转换为UTF-8。一切看起来都很好,除非我使用该功能
echo mb_detect_encoding($_POST[\'province\']);
对于不包含特殊字符的所有内容,我都将获得ASCII,对于所有包含特殊字符的内容,我都将获得UTF-8。但是,这些值都是从数据库本身提取的,因此这令我感到困惑。这是应该如何工作的吗?
另一个不起作用的是我的外键约束;我无法从下拉列表中输入值,因此再次从数据库中拉出值。
当我使用
echo mb_detect_encoding($_POST[\'province\']);
echo $_POST[\'province\'];
我懂了
UTF-8
Galápagos
由于省表上的外键限制,我无法在报表表下输入数据库。但是,该值直接来自省表。我在这里迷失了方向。
但是,我得到
ASCII
Carchi
对于厄瓜多尔的另一个省,此值将直接输入数据库。我在这里做错了什么?
解决方法
这可能是需要正确设置客户端编码的情况。在初始mysql连接后尝试以下操作:
mysql_query(\"SET NAMES \'utf8\'\")