php 中文字符入库或显示乱码问题的解决方法

大家以后在编写过程中, 一定要记得定义字符类型。
mysql_query("set names 'gbk'")
解决的方法就这么简单。
今天做了一个数据库查询,放出代码。


代码如下:

<?php
/*
filename:query.php
do:get and show the data
author:www.5dkx.com
*/
include_once("conn.php");
include_once("include.php");
mysql_query("set names 'gbk'")or die("设置字符库失败\n");
mysql_select_db($db)or die("连接数据库失败!\n");
$exec = "select * from $table";
//echo $exec;
$result = mysql_query($exec,$conn)or die("查询数据库失败\n");
echo "<table border=2>";
for($cout=0;$cout<mysql_numrows($result);$cout++)
{
$city = mysql_result($result,$cout,city);
$name = mysql_result($result,$cout,name);
$phone = mysql_result($result,$cout,phone);
echo "<tr>";
echo "city: $city";
echo "name: $name";
echo "phone: $phone";
echo "</tr>";
}
echo "</table>";
?>

(0)

相关推荐

  • php中截取中文字符串的代码小结

    字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到.虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了. 1. 截取GB2312中文字符串 复制代码 代码如下: < ?php //截取中文字符串 function mysubstr($str, $start, $len) { $tmpstr = ""; $strlen = $start + $len; for($i = 0; $i < $strlen; $i

  • php中文字符截取防乱码

    先看段代码 复制代码 代码如下: <?php $len = 15; $str = "这个新闻或是文章的标题很长,需要只显示前面一些字,后面用...来代替";        echo strlen($str)<=$len ? $str : (substr($str,0,$len).chr(0)."...");      ?> chr(0)相关知识: null是什么都没有,而chr(0)的值是0.表示成16进制是0x00,表示成二进制是00000000

  • PHP截取中文字符串的问题

    以下代码试用于GB2312编码,截取中文字符串是PHP中一个头疼的问题,解决方法是根据值是否大于等于128来判断是否是双字节字符,以避免出现乱码的情况.但中英文混合.特殊符号等问题总是存在,现在写一个比较全面的,仅供参考: 程序说明: 1. len 参数以中文字符为标准,1len等于2个英文字符,为了形式上好看些 2. 如果将magic参数设为false,则中文和英文同等看待,取绝对的字符数 3. 特别适用于用htmlspecialchars()进行过编码的字符串 4. 能正确处理GB2312中

  • PHP UTF8中文字符截断函数代码

    php中英文混合字符截断不乱码函数(utf8) 复制代码 代码如下: //utf8格式下的中文字符截断//$sourcestr 是要处理的字符串//$cutlength 为截取的长度(即字数)//$addstr 超过长度时在尾处加上的字符function cut_str($sourcestr, $cutlength, $addstr='...'){ $returnstr=''; $i=0; $n=0; $str_length=strlen($sourcestr);//字符串的字节数 while

  • php中支持多种编码的中文字符串截取函数!

    支持多种编码的中文字符串截取函数!   复制代码 代码如下: /*     * @todo 中文截取,支持gb2312,gbk,utf-8,big5      *     * @param string $str 要截取的字串     * @param int $start 截取起始位置     * @param int $length 截取长度     * @param string $charset utf-8|gb2312|gbk|big5 编码      * @param $suffix

  • php中的一个中文字符串截取函数

    PHP代码: -------------------------------------------------------------------------------- <?php /** ***@Author:LAD ***@URL   :<a href="http://www.cnpik.com/" target="_blank">http://www.cnpik.com/</a> ***@E_mail:lianxiwoo@s

  • PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数

    一.中文截取:mb_substr() mb_substr( $str, $start, $length, $encoding ) $str,需要截断的字符串 $start,截断开始处,起始处为0 $length,要截取的字数 $encoding,网页编码,如utf-8,GB2312,GBK 实例: 复制代码 代码如下: <?php $str='我们:http://www.jb51.net'; echo mb_substr($str,0,4,'utf-8');//截取头5个字,假定此代码所在php

  • php中计算中文字符串长度、截取中文字符串的函数代码

    在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务器,则只要在php.ini中开启即可.如果是用的虚拟主机,而服务器又没有开启这方面的函数的话,那就需要我们自己写出点适合咱国情的函数来了. 以下几个函数用起来颇为顺手的.不过要知道,得在utf-8环境下使用. 复制代码 代码如下: header('Content-type:text/html;cha

  • php截取utf-8中文字符串乱码的解决方法

    复制代码 代码如下: function utf8_substr($str,$len) { for($i=0;$i<$len;$i++) { $temp_str=substr($str,0,1); if(ord($temp_str) > 127){ $i++; if($i<$len){ $new_str[]=substr($str,0,3); $str=substr($str,3); } }else { $new_str[]=substr($str,0,1); $str=substr($s

  • php 中文字符入库或显示乱码问题的解决方法

    大家以后在编写过程中, 一定要记得定义字符类型.mysql_query("set names 'gbk'") 解决的方法就这么简单. 今天做了一个数据库查询,放出代码. 复制代码 代码如下: <?php /* filename:query.php do:get and show the data author:www.5dkx.com */ include_once("conn.php"); include_once("include.php&quo

  • SecureCRT中文显示乱码问题的解决方法

    环境:SecureCRT登陆REDHAT5.3 LINUX系统 问题:vi编辑器编辑文件时文件中的内容中文显示乱码,但是直接使用linux系统terminal打开此文件时中文显示正常,确诊问题出现在客户端即SecureCRT的显示问题 解决方法: 1.修改远程linux机器的配置 [root@rhel ~]#vi /etc/sysconfig/i18n 把LANG改成支持UTF-8的字符集 如: LANG="zh_CN.UTF-8″ 或者是 LANG="en_US.UTF-8″  本文

  • Mysql5.5安装配置方法及中文乱码的快速解决方法

    1.启动服务 windows下DOS命令窗口输入指令: 查看服务是否启动:net help services 启动mysql服务:net start mysql 停止mysql服务:net stop mysql linux下在bash下,输入指令: 查看服务状态:service mysqld status 启动mysql服务:service mysqld start 停止mysql服务:service mysqld stop 2.登陆 mysql -u[这里输入用户名] -p[这里输密码] 3.

  • 详解Linux中文乱码问题终极解决方法

    初入linux的程序员们,经常会受到乱码的问候.可谓"始乱终弃".因为乱码,并且最终放弃了linux的不在少数.好吧,言归正传,下面来看一下linux乱码的具体解决办法吧. 方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030 该文件在用户目录下,对于其他用户,也必须相应修改该文件. 使用该方法时putty能显示中文,但桌面系统是英文,而且所有的网页中文显示还是乱码 方法二: 修改/etc/sysconfig/i18n文件 #

  • PHP使用strrev翻转中文乱码问题的解决方法

    本文实例讲述了PHP使用strrev翻转中文乱码问题的解决方法.分享给大家供大家参考,具体如下: 在用PHP中的strrve翻转中文时,会出现乱码情况 例如: header("Content-Type: text/html; charset=utf-8"); echo strrev("处理使用strrev()函数时的乱码问题")."<br>"; 运行结果为: ��鮗遠籹䄚綗氕潇�)(verrts��翽䆐焤� 解决方法就是自己重写一个c

  • php中json_encode处理gbk与gb2312中文乱码问题的解决方法

    本文讲述了php中json_encode处理gbk与gb2312中文乱码问题的解决方法,具体方法如下: 1.json_encode()中文在gbk/gb2312中对中文返回为null $arr = array ( array ( 'catid' => '4', 'catname' => 'www.jb51.net', 'meta_title' => '我们' ) ); echo json_encode($arr); 运行结果: [{"catid":"4&qu

  • ubuntu 服务器中文乱码问题的解决方法

    之前买了阿里云的服务器,后来在上面编辑中文字符的时候发现乱码,在网上找了下解决方案,发现比较乱,有的也不太好用,特此整理了一下可用的一个方案. 检查 检查是否已经安装了中文包支持.终端输入: sudo dpkg -l 查看是否安装了中文支持( language-pack-zh )的软件包. 安装 没有安装,那就终端执行命令 : apt-get install language-pack-zh 配置语言环境变量 vim /etc/environment 在下面添加如下两行: LANG="zh_CN

  • java实现PPT转PDF出现中文乱码问题的解决方法

    ppt转成pdf,原理是ppt转成图片,再用图片生产pdf,过程有个问题,不管是ppt还是pptx,都遇到中文乱码,编程方框的问题,其中ppt后缀网上随便找就有解决方案,就是设置字体为统一字体,pptx如果页面是一种中文字体不会有问题,如果一个页面有微软雅黑和宋体,就会导致部分中文方框,怀疑是poi处理的时候,只读取第一种字体,所以导致多个中文字体乱码. 百度和谷歌都找了很久,有看到说apache官网有人说是bug,但他们回复说是字体问题,这个问题其实我觉得poi可能可以自己做,读取原来字体设置

  • 读写json中文ASCII乱码问题的解决方法

    今天要帮前端写一个小后台,就是读取数据然后转成json送给他,让他去展示.数据很简单,但是处理的时候遇到了一个问题,文件中涉及到了中文的处理,每次处理完写的json格式就是ASCII码,完全没办法用.代码如下: # -*- coding: utf-8 -*- import json import codecs f = codecs.open('data.txt', 'r', 'utf-8') content = json.load(f) print content[0]['id'] jsdata

  • PHP读MYSQL中文乱码的快速解决方法

    打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题. 以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题. 只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用

随机推荐