解决 PHP Mysql 和 UTF8的问题

2023-11-11

http://sixpoint.me/443/solving-php-mysql-utf8-issue/

1. 数据库

  CREATE DATABASE db_name
   CHARACTER SET utf8
   DEFAULT CHARACTER SET utf8
   COLLATE utf8_general_ci
   DEFAULT COLLATE utf8_general_ci
;

如果数据库已经存在

  ALTER DATABASE sb_name
   CHARACTER SET utf8
   DEFAULT CHARACTER SET utf8
   COLLATE utf8_general_ci
   DEFAULT COLLATE utf8_general_ci
;

建表

 
  CREATE TABLE table_name(
  ...
  )
  DEFAULT CHARACTER SET utf8
  COLLATE utf8_general_ci
  ;

如果表已经存在

  ALTER TABLE tbl_name
   DEFAULT CHARACTER SET utf8
   COLLATE utf8_general_ci
;

2. 在 php.ini 里面启用

extension=php_mbstring.dll

同时进行如下配置

  mbstring.language = Neutral
  mbstring.internal_encoding = UTF-8
  mbstring.encoding_translation = On
  mbstring.http_input = auto
  mbstring.http_output = UTF-8
  mbstring.detect_order = auto
  mbstring.substitute_character = none
  default_charset = UTF-8

3. 在PHP中使用下面替代的function

mail()                => mb_send_mail()
strlen ()              => mb_strlen()  
strpos ()              => mb_strpos()
strrpos ()             => mb_strrpos()
substr ()              => mb_substr()
strtolower ()          => mb_strtolower()
strtoupper ()          => mb_strtoupper()
substr_count()        => mb_substr_count()
ereg ()                => mb_ereg()
eregi ()               => mb_eregi()
ereg_replace ()        => mb_ereg_replace()
eregi_replace ()       => mb_eregi_replace()  
split()               => mb_split()
htmlentities( $var )    => htmlentities( $var , ENT_QUOTES, 'UTF-8' )

4. 使用如下的 header 和 meta 标记

  header( 'Content-type: text/html; charset=UTF-8' );
  < meta http-equiv = "Content-type" value = "text/html; charset=UTF-8" />

5. 在向数据库 insert / update 前需要使用

  mysql_set_charset( "utf8" );或者mysqli_set_charset($link"utf8");(新版)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决 PHP Mysql 和 UTF8的问题 的相关文章

  • 如何使用CSS将背景图像放入选择选项标签中

    我有一个从 json 响应接收的国家 地区下拉列表 并且想要在国家 地区名称旁边添加相应的国家 地区国旗图标 也从 json 响应获取图像 我已经尝试了不同的 jQuery 和 bootstrap 插件 但他们所做的是破坏我以前的选择框样式
  • 按通用值对值进行分组:userid 和 ipaddress

    我正在解决数据库中的一个问题 我正在尝试查找使用多个帐户的用户 我有一个用户 ID 和使用的 IP 地址的列表 如下所示 用户 ID IP 地址 1 IP 地址 13 2 IP 地址 23 1 IP 地址 12 4 IP地址56 9 IP
  • 自定义 WP 主题时,我应该将导航栏放在“”标签之前还是之后?

    我正在通过制作子主题来自定义 WP 主题 我将 Bootstrap 中的导航栏放入子主题目录中的 header php 文件中 但是 我不确定在哪里放置导航栏代码 我可以把它都放在前面and之后标记成功 例如 无论我选择哪一个 导航栏都显示
  • 在值中包含换行符

    我有一个 Word 模板 其中 php 代码中定义了值 在PHP代码中 document gt setValue Value1 value1 在word模板中 Value1 如何将包含两个值之间的断线的值包含在单词的值中 Replace n
  • Yii2 异常:ApcCache 需要加载 PHP apc 扩展

    在高级模板前端的主配置中配置缓存组件时 我收到异常 在我的 php ini 上启用了扩展 rsults 如何解决此问题 前端 config main php cache gt class gt yii caching ApcCache ke
  • PHP 或 WAMP 不确定是什么

    我已经安装了 WAMP 服务器 2 0 PHP 5 4 3 安装WAMP后我已经重新启动了所有服务并且可以打开 phpinfo 显示良好 phpmyadmin 它也显示得很好 我可以使用数据库 然而 当在 Chrome 中运行简单的 php
  • .htaccess 异常导致主目录出现问题

    这是我的目录结构 localhost or livehost app bootstrap public vendor code demo 这是我的 htaccess
  • 如何将 HTML 转换为 Markdown?

    我有一个类似 stackoverflow 的网站 有一个文本区域 人们可以在其中写答案 我用这个 PHP 库 http parsedown org 转换降价 我的意思是我使用该函数来转换 italic to i italic i inclu
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 通过 facebook graph API 检索 facebook 用户的邮政编码

    我正在尝试使用 facebook graph API 检索用户的邮政编码 我正在使用以下代码 代码在php ini中 facebook new Facebook array appId gt APP ID secret gt APP SEC
  • 如何阻止直接访问我的 JavaScript 文件?

    我使用 Minify 来缩小并缓存所有脚本请求 我只希望我的用户能够访问 JavaScript 文件的缩小版本 缩小位于www example com min我的脚本位于www example com scripts 如何阻止直接访问doc
  • 语法错误,第 288 行出现意外的“endif”(T_ENDIF)[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在离线处理我的 WordPress 网站的此代码错误 解析错误 语法错误 homez 541 photoher marie
  • 如何在 yii2 中使用两个不同的模型登录或切换身份类别?

    我想允许用户从两个不同的模型登录 配置文件 user gt identityClass gt app models User one more class here enableAutoLogin gt false authTimeout
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • 从数据库填充复选框

    我有两个表 第一个由与名称关联的 id 组成 1 汽车 2 火车 3 普通 ETC 第二个表由两个字段 user id 和第一个表中的 id 组成 例如 1 1 2 1 3 当用户转到该页面时 我试图重新填充选定的复选框 首先 您查询数据库
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入

随机推荐

  • 网段192.168.1.0/24是什么意思?

    192 168 1 0 24表示网段是192 168 1 0 子网掩码是24位 子网掩码为 255 255 255 0 用二进制表示为 11111111 11111111 11111111 00000000 这里为什么是24呢 就是因为子网
  • 公司计算机程序员英语作文,IT行业程序员英文简历模板范文

    英文简历的目的是帮助IT行业求职者获得面试机会 那你知道英文简历该怎么写吗 下面是学习啦小编为大家带来的程序员英文简历范文 相信对你会有帮助的 程序员英文简历范文 一 27 Hawkins Road Clarksboro New Jerse
  • Matlab 显示追踪点云 PLY格式

    用的matlab 可以用来显示文件夹下的所有ply点云 path strcat E WorkDatas argoverse tracking train1 dcdcd8b3 0ba1 3218 b2ea 7bb965aad3f0 lidar
  • 浅谈定时器及定时器在Vue项目中的使用

    对于一位前端工程师来说 说到定时器 想必都不陌生 无论是刚开始码农生活的新人还是多年工作经验的大牛 setTimeout setInterval 在项目中不可避免的都会使用 作为一个前端小菜鸟 在项目中的监控大屏的列表中需要用到setInt
  • 基于STM32CubeMX+FreeRTOS的Proteus仿真LCD1602

    LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块 它是由字符型液晶显示屏 LCD 控制驱动主电路HD44780及其扩展驱动电路HD44100 以及少量电阻 电容元件和结构件等装配在PCB板上而组成 一 LCD1602技术参数 显示
  • docker 无法访问web

    出于安全考虑 Linux系统默认是禁止数据包转发的 所谓转发即当主机拥有多于一块的网卡时 其中一块收到数据包 根据数据包的目的ip地址将数据包发往本机另一块网卡 该网卡根据路由表继续发送数据包 这通常是路由器所要实现的功能 要让Linux系
  • PaddleDetection使用教程

    详细的使用教程可以参考官方文档 一 安装说明 在安装PaddleDetection之前要先安装依赖项PaddlePaddle 你可以将其看作一个内核 有了它才可以安装PaddleDetection 首先 我们可以新建一个虚拟环境 命名为pa
  • python每日一题(leetcode/atcoder/nowcoder)

    背景 用leetcode每日一题 正好练一练python的一些写法吧 2021年2月28日 896 单调队列 判断数组是单增的或者是单减的 学习到一个sorted的用法 还有倒序的切片 class Solution def isMonoto
  • 微信小程序java+ssm+uniapp个人理财消费收支系统

    利用Java语言 SSM框架和mysql数据库等知识点 结合相关设计模式 以及软件工程的相关知识 设计一个ssm微信小程序的个人消费系统 来进行记录用户的信息 以及小程序信息的增删改查的功能 根据实现需求 小程序需完成这些基本功能 1 系统
  • C++ 多态(一) : 多态的构成条件、final、override、协变、析构函数的重写、抽象类

    文章目录 1 多态的定义和实现 多态的浅层理解 多态的构成条件 2 虚函数 虚函数的重写规则 虚函数重写条件的两个例外 1 协变 返回值不同 2 析构函数的重写 函数名不同 3 C 11 override 和 final override
  • JQ开发中遇到的问题(一)

    目录 目录 1 收藏与取消收藏切换 2 使用layui插件下拉选择渲染问题 1 收藏与取消收藏切换 说明 从接口中获取收藏状态 单击切换状态 如下图所示 开始状态 点击后状态 代码实现 1 全局定义一个变量 记录状态 var collect
  • wps 云文档的服务器地址,在WPS云文档保存、管理文件

    云文档上传和获取服务端调用 目录 1 获取APP剩余空间 获取APP剩余空间 接口说明 获取APP剩余空间 请求说明 参数说明参数参数类型是否必须说明access tokenstringrequiredaccess token appids
  • 相关系数和p值的含义

    相关系数就是两个变量之间的相关程度 1 lt 0负相关 r gt 0正相关 r2越接近1表示越相关 P值即概率 反映某一事件发生的可能性大小 统计学根据显著性检验方法所得到的P 值 一般以P lt 0 05 为显著 P lt 0 01 为非
  • [Unity] Unity 3D 中的旋转

    Unity 3D 中的旋转 一 Unity 3D 中 Rotation 在Unity中 旋转通常可以用一个三维向量 x y z 表示 实际上这是欧拉角 三个分量分别是绕x轴 y轴和z轴的旋转角度 要对一个GameObject进行旋转 可以直
  • HTCvive官方开发插件介绍

    相信各位小伙伴们在使用SteamVR Unity Plugin的过程中应该都遇到过这样的问题 获取设备很麻烦 设备在重启后indexID会改变从而导致设置好的左右手设备出现交错 无法与UGUI的事件系统连接导致无法使用UGUI等等很多问题
  • 关于windows本机开放端口后,同一个网络下的其他电脑telnet不通的解决办法

    前提 电脑A与电脑B均在同一个wifi下 本地电脑A 启动了一个kong网关 不管是什么应用 只要开启了一个监听端口就行 并且将docker里面的8000端口映射到本机的8000端口 此时在电脑A上的命令行运行 telnet 10 xxx
  • Java url转MultipartFile inputStream转File file转multipartFile

    Java url转MultipartFile inputStream转File file转multipartFile url转MultipartFile param url return throws Exception public st
  • linux kerne新版本编号?

    今天看到linux内核版本号都到3 4了 心中非常惊讶 为什么现在版本飞这么快了 于是一番google 终于找到了两篇文章 大家可以看看 Linux kernel version bumped up to 3 0 as 20th birth
  • VirtualBox 安装 增强功能

    在VirtualBox中安装好系统后 一般建议安装增强功能 因为一开始左上方的 视图 菜单中无缝模式和自动调整显示尺寸功能不可用 屏幕分辨率不够 无法与原系统共享剪贴板等 安装过程如下 点击VirtualBox的 设备 安装增强功能 此时桌
  • 解决 PHP Mysql 和 UTF8的问题

    http sixpoint me 443 solving php mysql utf8 issue 1 数据库 CREATE DATABASE db name CHARACTER SET utf8 DEFAULT CHARACTER SET