php怎么修改编码,实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法?
Linux主机通过phpmyadmin导出的sql数据,用命令导入到另外一台Linux主机时出现中文显示乱码,进一步查看原先导入出sql文件,发现中文无法显示,都是?号。解决Linux mysql数据导入导出中文乱码的具体方法如下:
1、确保phpmyadmin导出的数据中文显示正常,进入phpmyadmin界面,将语言选为中文simple-chinese( 注意非simple-chinesegb 2312),再导出sql中文就能正常显示。
2、修改导入出现乱码的LINUX主机的mysql设置vi /etc/my.cnf[mysqld] 添加default-character-set=utf8#设置默认字符集为utf8init_connect='SET NAMES utf8′#设定连接mysql数据库时使用utf8编码,以让mysql数据库以utf8方式运行找到(或添加)[client]default-character-set=utf8重启mysqlservice mysqld restart3、删除数据库并新建,重新导入数据库即可mysql -u root -p>mysql>drop database xxx>create database xxx>quit导入数据mysql -u -p xxx <mysql.sql
怎么搭建php服务器?
在windows下安装apache+php+mysql
从各官方网站下了APACHE2.050、PHP5、MYSQL4.0.20、PHPMYADMIN2.57
apache_2.0.50-win32-x86-no_ssl.msi
php-5.0.0-Win32.zip
mysql-4.0.20d-win.zip
phpMyAdmin-2.5.7.zip
系统 win2003 系统盘为: D盘
第一步: 安装apache 并配置支持PHP
点击安装文件apache_2.0.50-win32-x86-no_ssl.msi
将apache安装在 D:\apache2 目录(随自己喜好)下
将php-5.0.0-Win32.zip 里内容解压到 D:\php 里
找到 php目录里的 php.ini-dist 重命名为 php.ini 并拷到 windows目录里(win2k 里为winnt)
如我的php.ini是拷到 D:\windows目录
再将php目录里的 php5ts.dll,libmysql.dll 拷到 系统目录(system/system32) 如我的是D:\windows\system里
配置apache里的httpd.conf
打开 D:\Apache2\conf\httpd.conf 这个文件
找到 AddDefaultCharset ISO-8859-1 将其改为 AddDefaultCharset GB2312 (让默认语言编码为简体中文)
找到 DocumentRoot "D:/Apache2/htdocs" 将其改为你的WEB目录(可不改)如我的为 DocumentRoot "D:/website"
找到 DirectoryIndex index.html index.html.var 在后面加入 index.htm index.php
选择安装模式: 模块化模式安装 或 CGI模式安装 (选一样即可)
--------------模块化安装配置------------------------------------
找到 #LoadModule ssl_module modules/mod_ssl.so 这行,在此行后加入一行
LoadModule php5_module d:/php/php5apache2.dll
其中d:/php/php5apache2.dll 为你php目录中php5apache2.dll所在的位置
找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入一行
AddType application/x-httpd-php .php
---------------------------------------------------------------
--------------CGI安装配置--------------------------------------
找到 AddType application/x-gzip .gz .tgz 这行,加入如下即可
ScriptAlias /php/ "d:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
---------------------------------------------------------------
此时PHP环境基本已经配置成功
在WEB根目录(如我的D:\website)里建一个名为test.php的文件内容如下
<? echo phpinfo(); ?>
重新启动apache服务
用浏览器打开 http://localhost/test.php
如果可以看到php配置输出信息就OK了
sha1加密处理中文时在js和php中不一样怎么办?
前端对中文进行encodeURI,这样中文就会变成字符,英文和数字,再对其进行sha1加密,就可以和php的一致了,之后在后端用urldecode还原为中文就行了。前端和后端的URL编码函数是不同的需要注意。
py和php做后端哪个好?
如果你需要支持热部署,需要后端内置大量Web开发库函数,那就用PHP.因为Python和Node都不支持热部署,都需要手动或自动重启服务进程才能使代码更新生效,而且其语言自带的库函数并不如PHP丰富,而且Python和Node默认没有模板引擎的功能,PHP则天生就支持嵌入到HTML中的模板功能.就算你需要后端只写接口,PHP同样适用,区别在于PHP不再输出HTML而是输出JSON罢了,PHP中用内置的json_encode就能轻松把PHP数组(数据库查询结果)编码为JSON. 性能方面 Nginx+PHP7-FPM 的组合足够,PHP-FPM容器在底层用C实现了一套多进程架构,利用多核应对并发不是问题.而且PHP-FPM还有进程池机制,运维和开发人员可以把存在严重IO阻塞操作的脚本请求放到一个单独的动态进程池中处理,避免阻塞到其他进程池,也就是说,PHP-FPM能在脚本级别的粗粒度上分离IO阻塞.
php7代码如何加密?
我们先写出函数:
<?php
function encode_file_contents($filename) {
$type=strtolower(substr(strrchr($filename,'.'),1));
if ('php' == $type && is_file($filename) && is_writable($filename)) { //
如果是PHP文件 并且可写 则进行压缩编码
$contents = file_get_contents($filename); // 判断文件是否已经被编码处
理
$contents = php_strip_whitespace($filename);
// 去除PHP头部和尾部标识
$headerPos = strpos($contents,'<?php');
$footerPos = strrpos($contents,'?>');
$contents = substr($contents, $headerPos + 5, $footerPos -
$headerPos);
$encode = base64_encode(gzdeflate($contents)); // 开始编码
$encode = '<?php'."eval(gzinflate(base64_decode("."'".
$encode."'".")));?>";
return file_put_contents($filename, $encode);
}
return false;
}
调用此函数:
$filename = 'result1.php';
encode_file_contents($filename);
echo "OK,加密完成!";
?>
3
测试是否加密成功:文件名为result1.php,运行代码
4
运行成功。