1樓:
看資料庫的字元如果是gbk那麼就
mysql_query("set names gbk");
如果是utf8那麼就
mysql_query("set names utf-8");
2樓:匿名使用者
php+mysql插入資料庫後亂碼,主要原因是字符集不一致。
php檔案儲存一個字符集;
php**中一個字符集;
連線資料庫物件可以指定一個字符集;
mysql也有字符集。
檢查你的字符集設定,保證4個字符集相同。在設計初期就應該選擇好字符集了,而不是發現問題再找原因,這是很麻煩的一件事。
3樓:
保持一致:
a.資料庫、表、欄位字符集
b.**檔案字符集
c.**中連線資料庫是指定的字符集
d.**中sql語句的字符集(若是頁面提交過來拼接的要注意頁面指定字符集並拼接前將**轉換)
4樓:免費模板網
把那個database刪除重新建個 試試 或者 在mysql裡面set names utf-8 試試
php使用utf8插入中文資料到mysql中文顯示會亂碼怎麼辦?
5樓:匿名使用者
資料庫使用utf8編碼,需要在操作的過程中統一全部編碼。
create database `test` default character set 'utf8';
create table `tablea`(
`id` int not null auto_increment,
`title` varchar(100) null,
)engine=innodb default charset=utf8;
預設情況下,欄位的編碼同表的編碼,但是如果修改了表的編碼,欄位編碼不會同步修改,需要手動修改
這裡修改編碼測試我將utf8 改為 gb2312 ,僅用於觀察修改後的情況(實際使用中可能是將gbk修改為utf8)
alter table `test`.`tablea` character set = gb2312 ;
-- 修改表編碼後,檢視建表語句
show create table `tablea`;
-- 可以看到輸出的建表語句中欄位單獨設定了編碼
create table `tablea`(
`id` int not null auto_increment,
`title` varchar(100) character set utf8 null,
)engine=innodb default charset=gb2312;
-- 需要手動修改欄位編碼
alter table `tablea`
change column `title` `title` varchar(100) character set 'gb2312' null default null ;
連線數時設定編碼
// pdo 連線
$db = new pdo('mysql:host=myhost;dbname=test', 'login', 'password',
array(pdo::mysql_attr_init_command => 'set names \'utf8\'')
); // mysqli連線
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "test");
mysqli_query($link,"set names 'utf8';");
通過以上幾步操作,基本可以保證資料庫使用過程中不會出現亂碼
用php向mysql中插入中文漢字,資料庫中顯示亂碼,但用php頁面讀取時是正常的漢字。百度的方法都不行,急
6樓:匿名使用者
檔案編碼必須是utf-8
設定編碼utf8不要加引號
mysql_query('set names utf8');就可以了
7樓:落葉l無情
2.php 檔案是否是utf-8格式
php插入mysql資料庫中文變成亂碼 問號
8樓:℡媙の綺
去mysql裡面設定,不要在php裡設定mysql的編碼,亂碼肯定就是編碼問題無疑,推薦你先把mysql裡面表的編碼改好,然後再把php的編碼改好,這樣就應該沒問題了。
php向mysql資料庫插入的utf8編碼的中文變成亂碼
9樓:虎爺可樂
**是沒發現問題了,看你的表欄位是不是定義的 utf8 編碼了
10樓:審計拍
你這幾個函式是原生的php函式麼 貌似不是吧
使用php向mysql資料庫插入中文資料時,頁面中文顯示正常,但是資料庫裡面確實亂碼,該怎麼解決?
11樓:匿名使用者
這個問題不大。
主要匯出來是亂碼才問題。
你檢查過頁面是不是utf8的沒有,不行最上面加上<?php
header("content-type: text/html; charset=utf-8");//好像是utf-8,你可以試試utf8,gb2312總有一個可以的啦。
?>
你在資料庫裡看,你在資料庫裡打:
set names utf8
吧要是要顯示在到頁面你才用mysql_query('set names utf8');
再說一件事,資料庫裡亂碼好像還是比較常見的(只要是用那個phpmyadmin)
運作沒問題都沒事的。
12樓:匿名使用者
配置環境 資料庫建立 和 程式設計環境 編碼同時都設定成一樣的就沒問題了
13樓:呼倫貝爾品三農
可能你建立的資料庫不是utf8的,重新再建個資料庫試試
php 插入mysql資料後變成亂碼
14樓:
編碼方式不一樣,你資料庫的編碼是gb2312,你頁面的也應該是gb2312
還有一個地方就是連線資料庫的地方加句:mysql_query("set names 'gb2312'");
15樓:牛志向
資料庫、程式還有瀏覽器的編碼方式要一樣,要麼都是gb2312,要麼都是utf-8,等等
16樓:匿名使用者
插入之前要加上下面的語句:
mysql_query('set names gbk');
17樓:匿名使用者
那是因為你資料庫的編碼跟頁面的編碼不一致導致的
phpmysql如何讀取資料庫資料
麗麗 第一種解決方法 一 配置一下資料庫 define db host localhost 資料庫地址,一般為localhost define db user root 資料庫使用者名稱 define db psw 資料庫密碼 define db db databasename 需要操作的資料庫 二...
C插入資料庫,不能重複,怎麼防止資料庫中插入重複資料?
protected void submit click object sender,eventargs e 使用try 未出錯時執行的語句 catch exception ex 出錯是執行的語句finally 無論出錯與不出錯始終執行的語句用這個方法找找看是什麼問題,如果不好用最好把這段 抽成方法再...
中文插入資料庫為什麼顯示亂碼,為什麼向資料庫插入中文出現亂碼?
太平洋電腦網 解壓檔案出現中文亂碼怎麼辦解決辦法 在mysql中的my.ini中將字符集設定為 gbk 注意有兩處 client port 3306 mysql default character set gbk還有一處自己看看 建表的時候採用這種方式 create table admin id i...