php mysql資料庫顯示插入成功後資料中插入中文是亂碼UTF8 GBK32都不行

時間 2021-08-30 09:30:55

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...