数码资讯
PHP与MySQLUTF8编码转码问题综述
如果一个网站需要国际化,需要变换编码为UTF-8与GB2312。有许多问题需要注意。如果没有转换,就会出现很多编码问题。 PHP网页UTF-8编码问题 1。在开始的代码,添加一行:header(内容类型:文本/ HTML;字符集= UTF-8); 2.php文件编码编辑菜单:点击文件->另存为,你可
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
如果一个网站需要国际化,需要变换编码为UTF-8与GB2312。有许多问题需要注意。如果没有转换,就会出现很多编码问题。
PHP网页UTF-8编码问题
1。在开始的代码,添加一行:header(内容类型:文本/ HTML;字符集= UTF-8);
2.php文件编码编辑菜单:点击文件->另存为,你可以看到当前文件的编码,确保文件编码:UTF-8,如果ANSI,需要改变:UTF-8编码。
BOM的问题:PHP 3.php头文件必须没有BOM标签,否则,将有一个会议不能使用,和类似的提示:警告:session_start({功能。会议开始}):无法发送会话缓存限制器头这是因为派已经在session_start实施(时间),而不是整个页面的输出。但是,当PHP页面BOM标签,PHP BOM标签作为输出,所以它是错误的!因此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网页UTF-8编码问题
1。在开始的代码,添加一行:header(内容类型:文本/ HTML;字符集= UTF-8);
2.php文件编码编辑菜单:点击文件->另存为,你可以看到当前文件的编码,确保文件编码:UTF-8,如果ANSI,需要改变:UTF-8编码。
BOM的问题:PHP 3.php头文件必须没有BOM标签,否则,将有一个会议不能使用,和类似的提示:警告:session_start({功能。会议开始}):无法发送会话缓存限制器头这是因为派已经在session_start实施(时间),而不是整个页面的输出。但是,当PHP页面BOM标签,PHP BOM标签作为输出,所以它是错误的!因此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程序设计有所帮助。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。