
正文
php转码数据库 php导出数据库代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP中如何给关联数组的key和value转码?
php转码一般用iconv()方法。
如php转码数据库:iconv("转码前php转码数据库的编码","转码后的编码",需要转换编码的字符串);
$result_array = array();//定一个接收结果的空数组。
$array=array("电脑"=12,"内存"=3,"显示器"=19);//定义数组即要转换编码的数组
foreach ($s as $key = $value) {//使用foreach循环遍历数组。
$key=iconv("GBK","UTF-8",$key);//对数组的键进行转码即要转换编码的文字。
$result_array[$key]=$value;//从新拼接一个新的数组(转码后)
}
var_dump($result_array)//打印转码后的数组进行确认。
相关问答
Q1: php通过odbc用sql语句查询时无法查询中文,应该怎么转码
咱们以MYSQL为例吧。
MYSQL数据库存在着编码问题,主要体现在数据库里汉字会出现乱码,WEB页面汉字显示不正常。
归结起来只有一个原因:会出现编码的地方存在编码不一致。
WEB开发中:MYSQL编码主要会出现在五个地方:
1. mysql安装的默认编码(latin1)-在mysql.ini(mysql安装根目录下)中设置。[mysqld]选项,默认没有。添加即在最后一行加入default-character-set=utf8。
2.mysql数据库的编码,原则上默认的编码是mysql安装的默认编码,也可以在建库时用语句来执行:create databasedbname default character set utf8;我这里是建立一个utf8编码的dbname数据库。
3.mysql数据表的编码,原则上默认是第二步建立的数据库的编码。提倡不要在creat table时加上编码
4.利用程序建立mysql连接时,连接字符串使用的编码。如jdbc,php mysql_connect(),这个地方必须是与你页面的编码一致。
5.WEB程序页面的编码,charset=utf8;与4必须一致。
除上面5个地方外,另有一个不是编码者所能控制的,那就是浏览用户的浏览器的编码,一般是自动选择,就不列入了。
上述五个地方,我所知道的保证不出现乱码的方法是:
1 无所谓,但是如果可以调整的话,可以设置成你所需要统一的一个编码,如utf8
2,3比较重要,我所理解的必须是一致。建议是在建库语句时带上编码,建表时就不指定编码了。
4是必须的,php下:$link = mysql_connect('localhost', 'root', '') or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('wordpress') or die('Could not select database');
mysql_query("set names utf8;"); //这句
如利用PDO的话 $dbh = new PDO($dsn, $config['db']['username'], $config['db']['password']);
$dbh-exec('SET CHARACTER SET utf8'); //这句
5在WEB页面中必须设置成上面的统一的编码。
请不要结束,继续往下看:上述方法中必须统一是统一的编码,我使用的是utf8,为什么使用utf8是我正要说的。
Q2: PHP中转码的时候应该注意些什么?
两种不同php转码数据库的语言php转码数据库,两种不同的数据库。
除php转码数据库了网站的主题,思路,内容一样外,几乎是等于用PHP将原来的ASP重写一边,还要是两者都懂的人。
Q3: php保存数据在MySql中怎么都是乱码
1、php/html文件编码与数据库编码不统一
2、连接数据库时没有设置连接编码,“set names 。。。”
3、数据库编码设置有问题
4、数据库字段编码设置有问题
5、php程序里面没有对相关的字段进行转码
Q4: php 转码问题
mysql_query("set character set 'GB2312'"); //设置字节集编码
你找到你读取数据库函数的这条 没有的话增加一条
数据库是UFT-8 你应该豪不留情的用UTF-8 不然icnov不支持特殊字符 及片甲字
Q5: 使用PHP向MYSQL数据库插入中文时,页面中文显示正常,但是用navicat查看数据里面就是乱码。。。
这种情我遇到过,以前也是这样的;后台数据库的编码为GB2312,但前台显示和后台显都采用了UTF8,所以你在后台看到数据是乱码,但通过你的程序显示是正常的。
解决方案,
1.把你的表内容,写只程序导出为TXT文字,
2.住还是UTF导出后保存在文本格式,
3.注意分隔符等,
4.接下来新建一个数据库为UTF8的编码,
5.用Navicat Premium软件导进数据进数据库,保持表名,字段结构等都不变。
6.接正就直接连接新的数据库显示就为正常的UTF8数据了,直接用软件打开也不会出现乱码,
虽然方法有点复杂,但这是解闪的根本方法!其实第二种:利用PHP的转码直接转码,这种方法危险性较高也不全面,请谨慎考虑!
php转码数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php导出数据库代码、php转码数据库的信息别忘了在本站进行查找喔。






