1. html頁面有 meta 設定為 utf-8 頁面存為utf-8編碼
2. php頁面有 header 設定為utf-8, 頁面存為utf-8編碼
<?php
header("content-type:text/html; charset=utf-8");
?>
3. 資料庫操作之前 mysql_query("set names utf8");
4. mysql中 show variables like 'character_set%'; client,connection,database 均為 utf-8
配置my.ini檔案
在[client]節點下新增
default-character-set=utf8
在[mysqld]節點下新增
character-set-server=utf8
collation-server=utf8_general_ci
然後重啟mysql
5. 已經建立好的資料庫及庫中的表要如何更改為utf8
用alter語句(修改資料庫的字符集不會改變原有資料庫表的字符集)
修改資料庫編碼為utf-8
alter database `資料庫名` default character set utf8 collate utf8_general_ci;
修改資料庫表編碼為utf-8
alter table `資料庫表名` default character set utf8 collate utf8_general_ci;
修改庫表字段的編碼為utf-8
alter table `emp` change `name` `name` varchar( 64 ) character set utf8 collate utf8_general_ci;
是將mysql資料庫emp表中 name的字段編碼改為utf8
6. phpmyadmin 登入時中文utf-8
以上情況下. 插入mysql中的中文在phpmyadmin中顯示正常, 自己輸出中文同樣正常. 但是mysql命令列下select資料中文為亂碼.
cmd無法輸出utf-8字元, mysql下設定 set character_set_results = gb2312/gbk;(需要重啟mysql服務以及cmd)
對於新建立的資料庫 設定預設字符集為utf-8
create database if not exists 資料庫名 default charset utf8 collate utf8_general_ci;
對於新建立的資料庫表 設定預設字符集為utf-8
create table `test` (
`id` int(10) not null auto_increment,
`uid` varchar(10) not null default '0',
`regdate` date not null,
`remark` text,
primary key (`id`)
) engine=innodb default charset=utf-8 auto_increment=5 ;
7. 用php讀寫資料庫 在連線資料庫之後:
$connection = mysql_connect($host_name, $host_user, $host_pass);
加入兩行:
mysql_query("set character set 'utf8'");//讀庫
mysql_query("set names 'utf8'");//寫庫
php mysql亂碼解決
原理就不羅嗦了 自己 gg一下 也可以 看這裡 解決,自我總結了下 第一步.設定my.ini,紅線部分,其他地方根據自己情況.其實my.ini的設定,無關緊要,因為大多數人都是用虛擬機器,根本就不能設定my.ini web服務提供商也不會說改就幫你去改my.ini,這步可以跳過 mysqld set...
中文亂碼終極解決
1.現象 預發布海外版 後台管理中文顯示亂碼,資料庫中文正常,顯示到頁面後亂碼,從頁面插入資料庫也是亂碼。2.查詢問題 1.先從最基本的檢視 頁面編碼方式 server編碼方式 資料庫 資料表 屬性字段編碼方式都是utf8 2.深入到傳輸資料層面 前端傳輸到server tomcat server傳...
PHP MySql亂碼解決方案
每到課程設計的時候都會累出人命,今年php課程設計適做php精品課程 所踩之坑,接二連三就不一一贅述了。這篇文章的主要目的是說一下怎麼解決php mysql亂碼,下面開始說了。首先要處理的是單純的html頁面,也就是字尾html的檔案。辦法就是增加如下 在 資料庫執行語句mysqli query c...