欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL 編碼機(jī)制

 更新時(shí)間:2008年12月06日 11:07:04   作者:  
一般在MYSQL使用中文查詢 都是用 set NAMES character
character_set_client ,這是用戶告訴MySQL查詢是用的什么字符集。
character_set_connection ,MySQL接受到用戶查詢后,按照character_set_client將其轉(zhuǎn)化為character_set_connection設(shè)定的字符集。
character_set_results , MySQL將存儲(chǔ)的數(shù)據(jù)轉(zhuǎn)換成character_set_results中設(shè)定的字符集發(fā)送給用戶。
DISCUZ并沒有使用set NAMES character
SET NAMES 'x'語句與這三個(gè)語句等價(jià):
mysql> SET character_set_client = x; mysql> SET character_set_results = x; mysql> SET character_set_connection = x;
而DISCUZ里面是
復(fù)制代碼 代碼如下:

@mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this->link);

SET character_set_client = binary;使用二進(jìn)制字符集查詢
此三處的字符設(shè)定很大程度上會(huì)解決亂碼問題,那么著三個(gè)設(shè)定具體有什么作用呢?
character_set_client指定的是Sql語句的編碼,如果設(shè)置為 binary,mysql就當(dāng)二進(jìn)制來處理,character_set_connection指定了mysql 用來運(yùn)行sql語句的時(shí)候使用的編碼,也就是說,程序發(fā)送給MySQL 的SQL語句,會(huì)首先被MySQL從character_set_client指定的編碼轉(zhuǎn)換到character_set_connection指定的編碼,如果character_set_clien指定的是binary,則MySQL就會(huì)把SQL語句按照character_set_connection指定的編碼解釋執(zhí)行.
當(dāng)執(zhí)行SQL語句的過程中,比如向數(shù)據(jù)庫(kù)中插入字段的時(shí)候,字段也有編碼設(shè)置,如果字段的編碼設(shè)置和character_set_connection指定的不同,則MySQL 會(huì)把插入的數(shù)據(jù)轉(zhuǎn)換成字段設(shè)定的編碼。SQL語句中的條件判斷和SQL插入語句的執(zhí)行過程類似.
當(dāng)SQL執(zhí)行完畢像客戶端返回?cái)?shù)據(jù)的時(shí)候,會(huì)把數(shù)據(jù)從字段指定的編碼轉(zhuǎn)換為character_set_results指定的編碼,如果character_set_results=NULL 則不做任何轉(zhuǎn)換動(dòng)作,(注意這里設(shè)置為NULL不等于沒有設(shè)置,沒有設(shè)置的時(shí)候MySQL會(huì)繼承全局設(shè)置),
工作中比較有用的就是利用MySQL進(jìn)行轉(zhuǎn)碼、不同編碼的數(shù)據(jù)庫(kù)之間共用數(shù)據(jù)。

相關(guān)文章

  • MySQL中replace into語句的用法詳解

    MySQL中replace into語句的用法詳解

    這篇文章主要介紹了MySQL中replace into語句的用法詳解,本文講解了replace into語句的多種寫法,replace into語句的作用等內(nèi)容,需要的朋友可以參考下
    2014-08-08
  • 如何批量生成MySQL不重復(fù)手機(jī)號(hào)大表實(shí)例代碼

    如何批量生成MySQL不重復(fù)手機(jī)號(hào)大表實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于如何批量生成MySQL不重復(fù)手機(jī)號(hào)大表的相關(guān)資料,,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • MySQL因大事務(wù)導(dǎo)致的Insert慢實(shí)例分析

    MySQL因大事務(wù)導(dǎo)致的Insert慢實(shí)例分析

    這篇文章主要給大家介紹了關(guān)于MySQL因大事務(wù)導(dǎo)致Insert慢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • MySQL執(zhí)行計(jì)劃的深入分析

    MySQL執(zhí)行計(jì)劃的深入分析

    這篇文章主要給大家介紹了關(guān)于MySQL執(zhí)行計(jì)劃的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • mysql導(dǎo)入sql文件報(bào)錯(cuò) ERROR 2013 2006 2002

    mysql導(dǎo)入sql文件報(bào)錯(cuò) ERROR 2013 2006 2002

    今天在做項(xiàng)目的時(shí)候遇到個(gè)問題,就是往mysql里導(dǎo)入sql文件的時(shí)候總是報(bào)ERROR 2013 2006 2002,研究了一番才找到解決辦法,這里記錄下來分享給大家
    2014-11-11
  • Mysql主從復(fù)制注意事項(xiàng)的講解

    Mysql主從復(fù)制注意事項(xiàng)的講解

    今天小編就為大家分享一篇關(guān)于Mysql主從復(fù)制注意事項(xiàng)的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • MySQL數(shù)據(jù)庫(kù)高級(jí)數(shù)據(jù)操作之新增數(shù)據(jù)

    MySQL數(shù)據(jù)庫(kù)高級(jí)數(shù)據(jù)操作之新增數(shù)據(jù)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)高級(jí)數(shù)據(jù)操作之新增數(shù)據(jù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • Mysql日期查詢的詳細(xì)介紹

    Mysql日期查詢的詳細(xì)介紹

    這篇文章主要介紹了Mysql日期查詢的詳細(xì)介紹,根據(jù)時(shí)間段進(jìn)行查詢數(shù)據(jù)庫(kù)中單表中的數(shù)據(jù),如果感興趣的來了解一下
    2020-07-07
  • MySQL 到底是如何做到多版本并發(fā)的

    MySQL 到底是如何做到多版本并發(fā)的

    這篇文章主要介紹了 MySQL 事務(wù)隔離級(jí)別的底層原理。大家一起來閱讀下文吧
    2021-08-08
  • MySQL對(duì)于各種鎖的概念理解

    MySQL對(duì)于各種鎖的概念理解

    今天小編就為大家分享一篇關(guān)于MySQL對(duì)于各種鎖的概念理解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評(píng)論