thinkphp5 连访问数据库时报错utf-8编码错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5 连访问数据库时报错utf-8编码错误相关的知识,希望对你有一定的参考价值。

参考技术A

thinkphp5连访问数据库时报错utf-8编码错误,出现中文乱码的原因就是字符编码不统一,出现中文乱码需要添加如下代码。

在D:\\phpStudy\\PHPTutorial\\MySQL下的my.ini中的mysqld下加如下语句:

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

示例代码如下:

扩展资料:

thinkphp5 连访问数据库时报错utf-8编码错误可能出错的地方:

 1. 代码文件(判断查看文件编码的最简单的办法是:用记事本打开,然后点击“另存为”,出现的窗口下方有“编码”字样,若不是你想要的编码,改为你的编码后保存覆盖原来的文件即可)。    

2.  html 文件头部应加上 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ,把 utf-8 改为你要同意的编码即可。

3. 数据库连接代码应选择对应字符编码,mysql 的选择字符编码的代码为:mysql_query("SET NAMES 'utf-8';"); 其他数据库的代码请自行查询。  

 4. 后台程序代码 php 需要注明字符编码,header('Content-Type:text/html。

解决ThinkPHP关闭调试模式时报错的问题汇总

本文给大家汇总了一下个人在项目中所遇到的关闭ThinkPHP的调试模式时遇到报错的几种情况以及最终的处理办法,非常的简单实用,这里分享给大家,有需要的小伙伴可以参考下。

案例一:
最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 “页面调试错误,无法找开页面,请重试”的错误.
我就郁闷啦,明明本地设置define(\'APP_DEBUG\', false) 运行没点问题,怎么放到服务器上就出错了昵?
baidu,Google还是没有找到解决方案,突然发现项目APP_Name/Runtime/Cache目录和APP_Name/Runtime/Logs目录没有可写权限,果断更改,F5,唉好啦,妈妈再也不用担心出现错误信息啦!
案例二:
ThinkPHP 将 APP_DEBUG 常量设置为 false 后出现了类似下面的问题:
复制代码 代码如下:

Parse error: syntax error, unexpected T_STRING in E:\\PHPnow\\htdocs\\ojbak\\Runtime\\~app.php on line 1 
或者直接报”服务器错误”, 怎么办?
这个和 PHP 有关系,在 php.ini 里修改配置
复制代码 代码如下:

short_open_tag = On 
因为 app.class.php 里面的 build 方法:
当开启了调试模式后,会获取相关文件的内容 然后重新组合成文件 这个时候是会自动加上 的
也就是你看到的 ~app.php 文件了
但是当你不开启调试模式后,会每次都会加载相关的文件,这样子,你的错误就暴露出来了。
案例三:
在thinkphp中将APP_DEBUG设置为false之后,数据查询(select, find等等)总是显示第一条。。但是把APP_DEBUG设置为true之后,就正常了。。这是为什么?有什么解决方案吗?
正常来说,APP_DEBUG是调试模式,放到线上环境,尽量要设置为false的。。
自己找一个select查询,在关闭debug的情况下,用写文件的方式调试下查询后生成的sql。
以上所述就是本文的全部内容了,希望大家能够喜欢。
复制代码

以上是关于thinkphp5 连访问数据库时报错utf-8编码错误的主要内容,如果未能解决你的问题,请参考以下文章

求助程序连ORACLE时报错

maven 编译时报错:编码 UTF-8 的不可映射字符

关于vs 打开网站时报错 配置iis express失败 无法访问IIS元数据库...

Spring整合Mybatis,访问数据时报错:Invalid bound statement (not found)

执行dbca静默建库时报错由于以下错误, 无法连接到 ASM: ORA-12547: TNS: 丢失连接

执行dbca静默建库时报错由于以下错误, 无法连接到 ASM: ORA-12547: TNS: 丢失连接