做网站好一点的公司,高端网站,哪些购物网站用php做的,北京南站到北京站HUH函数你在这里混合API#xff0c;mysql_*和mysqli_*不会混在一起。你应该坚持mysqli_(看起来你无论如何都是)#xff0c;mysql_*函数被弃用#xff0c;并在PHP 7中完全删除。你的实际问题是某个地方的字符集问题。这里有几个指针#xff0c;可以帮助您为您的应用程序获得…HUH函数你在这里混合APImysql_*和mysqli_*不会混在一起。你应该坚持mysqli_(看起来你无论如何都是)mysql_*函数被弃用并在PHP 7中完全删除。你的实际问题是某个地方的字符集问题。这里有几个指针可以帮助您为您的应用程序获得正确的字符集。这套最开发PHP/MySQL应用程序时所面临的一般问题。全整个应用程序的属性必须设置为utf-8。将文档保存为UTF-8w/o BOM(如果您使用的是记事本它是Format - Convert to UTF-8 w/o BOM)PHP和HTML中的标题应该设置为UTF-8。HTML(内部)(标签)PHP(在文件顶部在任何输出之前)header(Content-Type: text/html; charsetutf-8);连接到数据库后将连接对象的字符集设置为utf-8如下所示(在连接之后)mysqli_set_charset($conn, utf8); /* Procedural approach */$conn-set_charset(utf8); /* Object-oriented approach */这是为了mysqli_*也有类似的mysql_*和PDO(见这个答案的底部)。此外请确保数据库和表设置为UTF-8您可以这样做ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;(任何已经存储的数据都不会转换成适当的字符集因此您需要使用干净的数据库来完成这一操作或者在出现字符中断时更新数据)。如果你用json_encode()您可能需要应用JSON_UNESCAPED_UNICODE标志否则它将特殊字符转换为它们的十六进制等价物。记住一切在整个代码管道中需要设置为UFT-8否则应用程序中可能会出现字符中断。除了这个列表之外可能还有一些函数具有指定字符集的特定参数。手册会告诉你这一点(一个例子是htmlspecialchars()).对于多字节字符也有一些特殊的函数例如strtolower()不会降低多字节字符因为您必须使用mb_strtolower()看这个现场演示.附注1注意到它在某个地方被注明为utf-8(用破折号)在某个地方utf8(没有它)。重要的是您知道什么时候使用它因为它们通常是不可互换的。例如HTML和PHP希望utf-8但MySQL没有。附注2在MySQL中“字符集”和“排序规则”不是一回事请参阅编码和校对的区别..不过两者都应该设置为utf-8一般来说排序应该是utf8_general_ci或utf8_unicode_ci见将军箱子?Unicode.附注3如果使用的是emojis则需要使用utf8mb4字符集而不是标准utf8无论是在数据库中还是在连接中。HTML和PHP只会有UTF-8.设置UTF-8mysql_和PDOPDO这是在对象的DSN中完成的。注意charset属性$pdo new PDO(mysql:hostlocalhost;dbnamedatabase;charsetutf8, user, pass);mysql_*这非常类似于mysqli_*但它不以连接对象作为第一个参数。mysql_set_charset(utf8);