PHP页面,MySQL数据库UTF-8乱码,UTF-8编码问题总结
PHP网页UTF-8编码问题
1。在开始的代码,添加一行:header(内容类型:文本/ HTML;字符集= UTF-8);
2.php文件编码编辑菜单:点击文件->另存为,你可以看到当前文件的编码,确保文件编码:UTF-8,如果ANSI,需要改变:UTF-8编码。
3.php文件头的BOM问题:PHP文件不能有一个BOM标签,否则,就会出现一个情况,会议不能使用,也有类似的提示:
警告:session_start({功能。会议开始}):无法发送会话缓存限制器头这是因为派已经在session_start实施(时间),而不是整个页面输出,但当PHP页面BOM BOM标签作为标签,PHP的输出,所以它是错误的!因此PHP页面必须删除BOM标签。
删除此BOM标签的方法是:
1。可以用Dreamweaver打开文件,并重新保存,也就是说,你可以删除BOM标签!
2。可以用editplus打开文件,并在第一个菜单选项->文件->UTF-8标志
当3.php保存附件文件,UTF-8编码的问题:PHP文件保存为一个附件的文件名必须是GB2312编码,否则,如果有的话,中文文件名会乱码:如果你的PHP是UTF-8编码格式的文件,从变量到GB2312 UTF-8文件名:iconv(UTF-8
4。当文章的标题被截断时,随机代码还是问号:
一般很长时间的标题,会显示的标题的一部分,将被截断的标题,因为一个UTF-8编码格式的汉字会占据3个字符的宽度,当拦截的称号,有时只截取1个字符或2个汉字字符宽度,无法捕捉一个完整的。会有乱码或问号的情况,
下面的函数是用来拦截标题的,不会有问题的:
功能get_brief_str($str,max_length美元){
回声strlen(str)。;
如果(strlen(str)> $ max_length){
check_num = 0美元;
为($我= 0;美元美元美元我<< max_length;i++){
如果(ORD($str {我})> 128)
check_num美元+ +;
}
如果($ check_num % 3 = = 0)
$str = substr($str,0,max_length美元)。……;
其他的
如果($ check_num % 3 = = 1)
$str = substr($str,0,max_length美元+ 2)。……;
其他的
如果($ check_num % 3 = = 2)
$str = substr($str,0,max_length美元+ 1)。……;
}
返回$ 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数据库。
例二:
在PHP + MySQL UTF-8中文乱码问题的解决
问题概述:
该1.mysql数据库默认的编码是UTF8,如果这个代码是不是与你的PHP网页一致,这可能会导致一个MySQL随机码。
当你创建2.mysql表,你会选择一个代码,如果代码不一致的原因与你的网页代码MySQL代码。
当3.mysql创建一个表,添加字段可以被编码,如果代码不符合您的网页代码,它也可以导致MySQL随机码。
4法典。用户提交的页面与显示数据的页面编码不一致,它肯定会导致PHP页面随机代码。
5。如果数据页是BIG5码的用户输入,显示用户输入的页面是GB2312,这会造成PHP页面乱码100%。
设置的6.php页的字符是不正确的。
代码中指定的7.php连接到MySQL数据库的说法是不正确的。
有一个清晰的理解,使用mysql生成随机代码的原因,所以不难解决。
解决不同问题的方法:
该1.mysql数据库默认的编码是UTF8,如果这个代码是不是与你的PHP网页一致,这可能会导致一个MySQL随机码。
修改数据库编码,如果数据库的代码是不正确的,下面的命令可以执行在phpMyAdmin:
改变database'test'default utf8字符集的整理utf8_bin
上面的命令是设置编码的测试数据库utf8。
当你创建2.mysql表,你会选择一个代码,如果代码不一致的原因与你的网页代码MySQL代码。
修改表的代码:
改变table'catery'default utf8字符集的整理utf8_bin
上面的命令是改变一个表catery编码为UTF8。
当3.mysql创建一个表,添加字段可以被编码,如果代码不符合您的网页代码,它也可以导致MySQL随机码。
修改字段的代码:
(45)改变table'test'change'dd ''dd'varchar utf8字符集的整理utf8_bin
上面的命令是改变字段的编码测试中的表的DD为UTF8。
4法典。用户提交的页面与显示数据的页面编码不一致,它肯定会导致PHP页面随机代码。
如果这很容易解决,只要检查页面,修改源文件的字符集。
5。如果数据页是BIG5码的用户输入,显示用户输入的页面是GB2312,这会造成PHP页面乱码100%。
这也是一个修改页面的字符集。
设置的6.php页的字符是不正确的。
为了避免PHP页面随机代码的出现,PHP页面启动第一个句子。
标题(内容类型:文本/ HTML;字符集= UTF-8);
/ /页面指定,避免乱码
代码中指定的7.php连接到MySQL数据库的说法是不正确的。
在连接到数据库的语句中。
mysql_connect('localhost ',用户,'password);
mysql_select_db('my_db);
mysql_query(设置names'utf8); / /选择数据库加上这句话后
以上是本文内容介绍PHP页面,MySQL数据库混沌编码UTF-8编码UTF-8,问题的总结,希望大家喜欢。