php mysql存中文,PHP+MySQL存储数据常见中文乱码问题小结
PHP+MySQL存儲(chǔ)數(shù)據(jù)常見(jiàn)中文亂碼問(wèn)題小結(jié)
本文實(shí)例總結(jié)了PHP+MySQL存儲(chǔ)數(shù)據(jù)常見(jiàn)中文亂碼問(wèn)題。分享給大家供大家參考,具體如下:
PHP+MySQL出現(xiàn)中文亂碼的常見(jiàn)原因:
1. MYSQL數(shù)據(jù)庫(kù)的編碼是utf8,與PHP網(wǎng)頁(yè)的編碼格式不一致,就會(huì)造成MYSQL中的中文亂碼。
2. 使用MYSQL中創(chuàng)建表、或者選擇字段時(shí)設(shè)置的類型不是utf8,而網(wǎng)頁(yè)編碼不是utf8,也可能造成MYSQL中文亂碼.
3. PHP頁(yè)面的字符集與數(shù)據(jù)庫(kù)的編碼不一致。
4. PHP連接MYSQL數(shù)據(jù)庫(kù),操作是設(shè)定的語(yǔ)句指定的編碼和頁(yè)面編碼,PHP頁(yè)面編碼不一致。
5. 用戶提交的HTML頁(yè)面編碼,和顯示數(shù)據(jù)的頁(yè)面編碼不一致 ,就肯定會(huì)造成PHP頁(yè)面亂碼.
解決中文亂碼問(wèn)題的方法:
1. 網(wǎng)頁(yè)編碼設(shè)置。一般在HTML代碼中的文件頭中加入屬性:
保證,網(wǎng)頁(yè)是"utf-8"編碼。
2. PHP代碼設(shè)置。在php代碼的開(kāi)始部分加入以下代碼:
header("Content-type: text/html;charset=utf-8");
且要求保存的文件編碼方式是utf-8(可以用EditPlus打開(kāi)設(shè)置,如下圖),這樣就保證了該文件也是utf-8編碼。
3. 數(shù)據(jù)庫(kù)中表的字段中存儲(chǔ)中文的部分,要設(shè)置為utf8_general_ci類型。
4.PHP在連接數(shù)據(jù)庫(kù)操作時(shí),要設(shè)置操作的字段類型為utf8,設(shè)置方法如下:
mysql_connect('localhost','user','password');
mysql_select_db('db');
mysql_query("set names utf8"); //**設(shè)置字符集***
mysql_query(要執(zhí)行的sql語(yǔ)句);
希望本文所述對(duì)大家php程序設(shè)計(jì)有所幫助。
時(shí)間: 2016-06-12
mysql 中常常出現(xiàn)對(duì)中文支持不友好的情況常見(jiàn)的錯(cuò)誤 "Illegal mix of collations for operation" 下面我們規(guī)整一下 mysql 數(shù)據(jù)庫(kù)中一共涉及到哪些字符集 character-set-server/default-character-set:服務(wù)器字符集,默認(rèn)情況下所采用的 character-set-database:數(shù)據(jù)庫(kù)字符集 character-set-table:數(shù)據(jù)庫(kù)表字符集 一般情況下只需要設(shè)置character-set-ser
解決Mysql下中文亂碼全是問(wèn)號(hào)的問(wèn)題 又是頭疼的中文亂碼問(wèn)題,剛開(kāi)始我一直用的本地?cái)?shù)據(jù)庫(kù)測(cè),這沒(méi)問(wèn)題啊,一點(diǎn)問(wèn)題都沒(méi),但我忘記了安卓和web用的是服務(wù)器上我搭的數(shù)據(jù)庫(kù),測(cè)了一下,果然亂碼了. 試了網(wǎng)上不少方法,雖然不知道具體哪個(gè)方法給弄好了,就都說(shuō)一下吧 第一種方法 剛開(kāi)始先檢查MySQL數(shù)據(jù)庫(kù),發(fā)現(xiàn)正如網(wǎng)上所說(shuō),部分編碼是latin1, 是如下的樣子: 果斷改啊 set character_set_client=utf8; set character_set_connection=utf8;
最近兩天做項(xiàng)目總是被亂碼問(wèn)題困擾著,這不剛把mysql中文亂碼問(wèn)題解決了,下面小編把我的解決方案分享給大家,供大家參考,也方便以后自己查閱. 首先: 用show variables like "%colla%":show varables like "%char%":這兩條命令查看數(shù)據(jù)庫(kù)與服務(wù)端的字符集設(shè)置 如果查看出來(lái)都是gbk2312,或 gbk,那么就只能支持簡(jiǎn)體中文,繁體和一些特殊符號(hào)是不能插入的,我們只有修改字符集為UTF-8, 修改方法如下: 用記事本或
本文實(shí)例講述了MySQL從命令行導(dǎo)入SQL腳本時(shí)出現(xiàn)中文亂碼的解決方法.分享給大家供大家參考,具體如下: 在圖形界面管理工具 MySql Query Browser中打開(kāi)腳本(腳本包括建庫(kù).建表.添加數(shù)據(jù)),并執(zhí)行,不會(huì)有任何問(wèn)題:但是使用mysql命令行工具執(zhí)行建庫(kù)腳本時(shí),添加數(shù)據(jù)中如果包含中文,存入的數(shù)據(jù)就是亂碼或是???... 解決方法1:在MySql安裝目錄下找到my.ini,將[mysql]下的default-character-set=latin1改為default-characte
問(wèn)題: python2.7 查詢或者插入中文數(shù)據(jù)在mysql中的時(shí)候出現(xiàn)中文亂碼 --- 可能情況: 1.mysql數(shù)據(jù)庫(kù)各項(xiàng)沒(méi)有設(shè)置編碼,默認(rèn)為'latin' 2.使用MySQL.connect的時(shí)候沒(méi)有設(shè)置默認(rèn)編碼 3.沒(méi)有設(shè)置python的編碼,python2.7默認(rèn)為'ascii' 4.沒(méi)有解碼 --- 解決方法: 1.設(shè)置mysql的編碼 ubuntu執(zhí)行下列語(yǔ)句: ** sudo vim /etc/mysql/my.cnf ** 然后在里面插入語(yǔ)句: [client] default
當(dāng)向 MySQL 數(shù)據(jù)庫(kù)插入一條帶有中文的數(shù)據(jù)形如 insert into employee values(null,'張三','female','1995-10-08','2015-11-12','Sales',2000,'是個(gè)好員工!'); 出現(xiàn)亂碼時(shí),可以使用語(yǔ)句 show variables like 'character%'; 來(lái)查看當(dāng)前數(shù)據(jù)庫(kù)的相關(guān)編碼集. 從上圖中可以看到 MySQL 有六處使用了字符集,分別為:client .connection.database.results
MySQL會(huì)出現(xiàn)中文亂碼的原因在于 1.server本身設(shè)定問(wèn)題,一般來(lái)說(shuō)是latin1 2.建庫(kù)建表時(shí)沒(méi)有制定編碼格式. MySql中表單輸入數(shù)據(jù)出現(xiàn)中文亂碼的解決方法: 1.建庫(kù)的時(shí)候 CREATE DATABASE test CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 2.建表的時(shí)候 CREATE TABLE content ( text VARCHAR(100) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
Mac 下MySQL數(shù)據(jù)庫(kù)中文亂碼解決方案: 當(dāng)我們用框架進(jìn)行數(shù)據(jù)庫(kù)的存儲(chǔ)操作時(shí),經(jīng)常會(huì)遇到中文亂碼的問(wèn)題. 如:在使用Java中得SSH框架時(shí),我們需要在web.xml文件中配置編碼的filter,具體代碼是: &
MySQL中文亂碼解決辦法 前言: MySQL是我們項(xiàng)目中非常常用的數(shù)據(jù)型數(shù)據(jù)庫(kù).但是因?yàn)槲覀冃枰跀?shù)據(jù)庫(kù)保存中文字符,所以經(jīng)常遇到數(shù)據(jù)庫(kù)亂碼情況.下面就來(lái)介紹一下如何徹底解決數(shù)據(jù)庫(kù)中文亂碼情況. 1.中文亂碼 1.1.中文亂碼 create table user(name varchar(11)); # 創(chuàng)建user表 insert into table user("carl"); # 添加數(shù)據(jù) select * from user; insert into user value(&
JSP struts2 url傳參中文亂碼解決辦法 1.設(shè)置struts.xml 或是設(shè)置struts.properties(我自己沒(méi)試過(guò)) struts.i18n.encoding=UTF-8 2.在web.xml添加編碼過(guò)濾器 characterEncodingFilter&
Android中HTTP請(qǐng)求中文亂碼解決辦法 編碼參數(shù) List formparams = new ArrayList(); // 請(qǐng)求參數(shù) for (NameValuePair p : params) { formparams.add(p); } UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams,HTTP.UTF_8); // 創(chuàng)建POST
UnicodeEncodeError: 'latin-1' codec can't encode characters in position: 找了一天終于搞明白了,默認(rèn)情況下,mysql連接的編碼是latin-1,你需要指定使用什么編碼方式: connectionForURI(mysql://user:password@localhost:3306/eflow?use_unicode=1&charset=utf8) Python mysql 中文亂碼 的解決方法,有需要的朋友不妨看看. 先來(lái)
第一個(gè)方法: MySQL 4.1 中文亂碼的問(wèn)題 最近要將 MySQL 4.0 升級(jí)到 MySQL 4.1 ,發(fā)現(xiàn)了中文亂碼的問(wèn)題,希望以下見(jiàn)解對(duì)大家有用. 1. MySQL 4.1 在文字上有很大改進(jìn),它有了 Character Set 與 Collation 的慨念. 2. 在 MySQL 4.0 ,一般的程式都會(huì)將文字以拉丁文 ( latin) 來(lái)儲(chǔ)存,就算我們輸入中文字,結(jié)果仍是放在以拉丁文設(shè)置的文字欄里頭,這對(duì) MySQL 4.0 與以 MySQL 4.0 為基楚的程式來(lái)說(shuō),并不會(huì)有問(wèn)
一.首先是PHP網(wǎng)頁(yè)的編碼 1. php文件本身的編碼與網(wǎng)頁(yè)的編碼應(yīng)匹配 a. 如果欲使用gb2312編碼,那么php要輸出頭:header("Content-Type: text/html; charset=gb2312″),靜態(tài)頁(yè)面添加
Matplotlib是Python的一個(gè)很好的繪圖包,但是其本身并不支持中文(貌似其默認(rèn)配置中沒(méi)有中文字體),所以如果繪圖中出現(xiàn)了中文,就會(huì)出現(xiàn)亂碼. matplotlib繪制圖像有中文標(biāo)注時(shí)會(huì)有亂碼問(wèn)題. 實(shí)例代碼: import matplotlib import matplotlib.pyplot as plt #定義文本框和箭頭格式 decisionNode =dict(boxstyle="sawtooth",fc="0.8") leafNode=dict(
AJAX的亂碼的出現(xiàn)在的原因 由于XMLHTTP采用的是Unicode編碼上傳數(shù)據(jù),而一般頁(yè)面采用的是gb2312,這就造成顯示頁(yè)面時(shí)產(chǎn)生亂碼.而當(dāng)在獲取頁(yè)面時(shí)的XMLHttp返回的是utf-8編碼,這就造成了顯示產(chǎn)生亂碼. 解決方法之一就是在PHP文件中顯示聲明為GB2312 header("Content-Type:text/html;charset=GB2312"); 而對(duì)于發(fā)送到服務(wù)器的中文進(jìn)行轉(zhuǎn)碼. 如下 $_POST["content"]=iconv(&
// 方法一: PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';")); // 方法二: PDO::__construct($dsn, $user, $pass); PDO::exec("SET NAMES 'utf8';"); 兩種方法都能解決問(wèn)題, 原理一樣的, 使用哪中看自己喜歡了
總結(jié)
以上是生活随笔為你收集整理的php mysql存中文,PHP+MySQL存储数据常见中文乱码问题小结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 计算机二级考试都怎么考,计算机二级都考什
- 下一篇: 小米平板android最新版本,想要翻身