HUH函数

你在这里混合API,mysql_*和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; charset=utf-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:host=localhost;dbname=database;charset=utf8", "user", "pass");mysql_*这非常类似于mysqli_*,但它不以连接对象作为第一个参数。mysql_set_charset('utf8');

php+new+mysqli+utf+8,MySQL和PHP:utf-8带有西里尔字符相关推荐

  1. mysql数据库西里尔文乱码_MySQL和PHP:utf-8带有西里尔字符

    MySQL和PHP:utf-8带有西里尔字符 我试图在MySQL表中插入一个Cyrilic值,但是编码存在问题. PHP:<?php $servername = "localhost& ...

  2. mysql数据库与mysqli_通过 PHP Mysqli 扩展与 MySQL 数据库交互

    通过 PHP Mysqli 扩展与 MySQL 数据库交互 由 学院君 创建于8个月前, 最后更新于 6个月前 版本号 #1 1269 views 0 likes 0 collects 引言 前面学院 ...

  3. mysql模糊查询指定根据第几个字符来匹配

    mysql模糊查询指定根据第几个字符来匹配 下图案例1中,查询某员工名中第三个字符位e,第五个字符为a的员工名和工资 select last_name,salary  FROM employess W ...

  4. mysql命令语句来去除掉字段中空格字符的方法

    mysql有什么办法批量去掉某个字段字符中的空格?不仅是字符串前后的空格,还包含字符串中间的空格,答案是 replace,使用mysql自带的 replace 函数,另外还有个 trim 函数. (1 ...

  5. mysql向表中插中文显示,针对mysql数据库无法在表中插入中文字符的解决方案(彻底解决jav...

    针对mysql数据库无法在表中插入中文字符的解决方案(彻底解决jav 针对mysql数据库无法在表中插入中文字符的解决方案(彻底解决:java.sql.SQLException: Incorrect ...

  6. [7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - 摩西莫西 - ITeye技术网站...

    [7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - 摩西莫西 - ITeye技术网站 [7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - ...

  7. php面向对象封装mysql_php mysqli面向对象封装mysql数据库常用操作

    首先封装好mysql类 mysql.php class Mysql{ private static $host="localhost"; private static $user= ...

  8. mysqli扩展是mysql扩展的增强版_PHP学习笔记【22】--PHP数据库编程 mysql扩展库 和mysqli扩展库...

    <?php         // php数据库编程     //php链接有 mysql 和mysqli    //    $conn  = mysql_connect("localh ...

  9. php mysql utf 8_PHP+MySQL中对UTF-8,UTF8(utf8),set names gbk 的理解

    问题一:在我们进行数据库操作时会发现,数据库中表的编码用的是utf-8,但是在进行dos命令是要使用set names gbk (一)Mysql中默认字符集设置有四级:服务器级,数据库级,表级,和字段 ...

最新文章

  1. 我自己写的第一个Xslt
  2. CC 攻击检测研究现状
  3. 暖通专业标准规范大全_中高级职称专业分类改革 机械类十大热门专业分享
  4. 03-cmake语法-变量,字符串
  5. 判断字符串_python判断字符串以什么开始
  6. :before 和 :after
  7. ijkplayer框架深入剖析
  8. 无线通信数字调制技术
  9. 推荐七个逆天神器APP,让你分分秒秒变优秀
  10. Window/Cmd中的一些快捷键命令
  11. 介绍几种wifi电源管理模式
  12. 利用Eigen库实现最小二乘拟合平面
  13. 微信小程序使用image组件显示图片的方法
  14. Android的在线考试app
  15. 照片换背景色(Photoshop工具)
  16. 【各种视频网站去水印】无需任何软件 在浏览器 动动手指就行
  17. centos7 SFTP
  18. poi设置word表格单元格宽度_java poi 设置word 格式如表格一类的
  19. 慕容垂:百万战骨风云里——激荡的鲜卑史略之三(转载)
  20. 根据经纬度查天气预报

热门文章

  1. 官网安装Nvidia CUDA Toolkit、cuDNN报错502的备用镜像下载网址
  2. MapReduce操作时Error:The method setInputPaths(JobConf, String) in the type FileInputFormat is not
  3. oracle 列 连续,oracle中某列连续相同值的记录数统计(一个简单的例子)
  4. div和div之间画横线_javascript – jQuery – 使用画布在div之间绘制线条
  5. 英特尔显示器音频_英特尔也玩马甲?有关USB TypeC的冷知识你了解多少
  6. jvm oracle sun,JVM - 常见的JVM种类
  7. java asynchronize_Java 中synchronize函数的实例详解
  8. 澳国立计算机录取分数,澳洲出国:2018年澳洲国立大学对高考成绩的本科录取分数线(多图)...
  9. IE浏览器怎么在桌面隐藏图标
  10. UC浏览器怎么删除收藏历史?UC浏览器删除收藏历史的操作方法