到UFT-8编码混沌编码在PHP和MySQL的一些解决方案
PHP网页UTF-8编码问题1。在代码开始时,添加一行:
复制代码代码如下所示:
标题(内容类型:文本/ HTML;字符集= UTF-8);
2.php文件编码问题
在菜单编辑器中点击:文件->另存为,你可以看到当前文件的编码,确保文件编码:UTF-8,
如果是ANSI,您需要更改代码:UTF-8。
3.php文件头的BOM问题:
PHP文件不能有BOM标签。
否则会出现会话不能使用的情况,也有类似的提示:
警告:session_start(){函数。会议开始}:无法发送会话缓存限制器头已经发
这是因为,当session_start()执行时,整个页面不能输出,但在以前的PHP页面的BOM标签,
PHP把这个BOM标签作为一个输出,所以它是错误的!
因此PHP页面必须删除BOM标签。
删除此BOM标签的方法是:
1。可以用Dreamweaver打开文件,并重新保存,也就是说,你可以删除BOM标签!
2。可以用editplus打开文件,并在第一个菜单选项->文件->UTF-8标志
然后保存文件,也就是说,你可以删除BOM标签!
当4.php保存在表格文件,UTF-8编码问题:
PHP以附件形式保存的文件,并且文件名必须GB2312编码。
否则,如果文件名有中文,它将显示随机代码。
如果你的PHP本身是UTF-8编码的文件,
你需要将文件名变量从UTF-8到GB2312:
iconv(UTF-8
使用程序截取字符实例
复制代码代码如下所示:
功能utf8_substr($str,$ len)
{
($ i = 0;$ i;
{
temp_str美元= substr($str,0,1);
如果(ORD($ temp_str)> 127){
美元+;
如果($ i)
new_str美元{ } = substr($str,0,3);
$str = substr($str,3);
}
其他{ }
new_str美元{ } = substr($str,0,1);
$str = substr($str,1);
}
}
返回连接($ new_str);
}
使用UTF-8编码在MySQL数据库的问题
1。创建数据库和数据表与phpMyAdmin
当你创建数据库,请设置排序规则:utf8_general_ci
或执行语句:
复制代码代码如下所示:
创建数据库` dbname `默认字符集utf8整理utf8_general_ci;
当数据表被创建:如果这个字段是中文的,需要设置安排:utf8_general_ci,
如果字段以英文或数字存储,则缺省可用。
相应的sql语句,如:
复制代码代码如下所示:
创建表(测试)
int不是空的,
`名字` varchar(10)utf8字符集的整理utf8_general_ci不空,
主键(id)
)= MyISAM引擎;
2。用php读写数据库
连接到数据库之后:
复制代码代码如下所示:
连接= mysql_connect美元(美元host_name,host_user美元,美元host_pass);
加入这两行:
复制代码代码如下所示:
mysql_query(字符集set'utf8); / /读库
mysql_query(设置names'utf8); / /写库
你可以正常地读写MySQL数据库。
用appserv-win32-2.5.10环境编码默认UTF8加载该包时。
在编写数据库连接文件时,它被写为:
复制代码代码如下所示:
$ conn = mysql_connect(主持人美元
mysql_query(设置names'utf8);
mysql_select_db(数据库美元
然后,当你做这页的时候,注意这个句子:
复制代码代码如下所示:
这是正常的,无论对数据库的输入,还是页面显示。
在DW CS4版本,默认是utf8页。
类似地,如果数据库连接文件在开始时写入,则将其写入:
复制代码代码如下所示:
mysql_query(设置names'gbk);
页面也应该相应地更改:
复制代码代码如下所示:
总之,过去主要是网页的编码,它可以解决的问题不容易。特别是在mysql_query(),设置集名称必须统计网页和数据库的编码统计。