搜尋
首頁資料庫mysql教程Mysql中文问题的解决案例演示

Mysql中文问题的解决案例演示

Jun 07, 2016 pm 04:09 PM
mysql中文主要文章案例示範解決

以下的文章主要介绍的是Mysql中文问题的实际解决方法,其中主要包括MySql字符集的问题解决,ROR+Mysql5 utf8中正确搭配相关问题的实际解决方案,以下就是文章的具体内容的主要描述,望你浏览之后会有所收获。 『出错』Hibernate对象关系在MySQL4.1中无法正确

以下的文章主要介绍的是Mysql中文问题的实际解决方法,其中主要包括MySql字符集的问题解决,ROR+Mysql5 utf8中正确搭配相关问题的实际解决方案,以下就是文章的具体内容的主要描述,望你浏览之后会有所收获。

『出错』Hibernate对象关系在MySQL4.1中无法正确执行?

推荐圈子: JBoss SEAM

更多相关推荐 阅读过不少关于mysql的编码设置和乱码问题的一些文章,经过再三的调试,终于通过,终于解决了一块心病,终于解了我心头之恨,哈哈哈。现在把它概括如下。

MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。我们最终的目标是使得这四个层次转化会支持Mysql中文的编码,下面以utf8为例。

1. 首先查看系统的字符集和排序方式。如果想查看某个特定的数据库的字符集和排序方式,应该先选定数据库,mysql>use databasename;

<ol class="dp-xml">
<li class="alt"><span><span>mysql</span><span class="tag">></span><span> SHOW VARIABLES LIKE ''character_set_%'';   </span></span></li>
<li><span>+--------------------------+----------------------------+   </span></li>
<li class="alt"><span>| Variable_name | Value |   </span></li>
<li><span>+--------------------------+----------------------------+   </span></li>
<li class="alt"><span>| character_set_client | latin1 |   </span></li>
<li><span>| character_set_connection | latin1 |   </span></li>
<li class="alt"><span>| character_set_database | latin1 |   </span></li>
<li><span>| character_set_results | latin1 |   </span></li>
<li class="alt"><span>| character_set_server | latin1 |   </span></li>
<li><span>| character_set_system | utf8 |   </span></li>
<li class="alt"><span>| character_sets_dir | /usr/share/mysql/charsets/ |   </span></li>
<li><span>+--------------------------+----------------------------+   </span></li>
<li class="alt"><span>7 rows in set (0.00 sec)   </span></li>
<li>
<span>mysql</span><span class="tag">></span><span> SHOW VARIABLES LIKE ''collation_%'';   </span>
</li>
<li class="alt"><span>+----------------------+-------------------+   </span></li>
<li><span>| Variable_name | Value |   </span></li>
<li class="alt"><span>+----------------------+-------------------+   </span></li>
<li><span>| collation_connection | latin1_swedish_ci |   </span></li>
<li class="alt"><span>| collation_database | latin1_swedish_ci |   </span></li>
<li><span>| collation_server | latin1_swedish_ci |   </span></li>
<li class="alt"><span>+----------------------+-------------------+   </span></li>
<li><span>3 rows in set (0.00 sec)  </span></li>
</ol>

上面列出的值就是系统的默认值,lanti是不支持Mysql中文的,所以我们把它改成urf8。

下面我们就来修改这四个层次的编码方式:

1 在my.cf文件的[mysqld]段设置:

<ol class="dp-xml"><li class="alt"><span><span class="attribute">default-character-set</span><span>=</span><span class="attribute-value">utf8</span><span>  </span></span></li></ol>

这条语句的作用是把character_set_client, character_set_connection_,character_set_results 设定为utf8,包括对应的排列方式的编码。
Character_set_server是系统编码,这个是不用改的。

当然改变character_set_client, character_set_connection_,character_set_results编码方式的另外一种方法是:

<ol class="dp-xml"><li class="alt"><span><span>SET NAMES “UTF8”;  </span></span></li></ol>

它的作用相当于:

<ol class="dp-xml">
<li class="alt"><span><span>SET </span><span class="attribute">character_set_client</span><span> = </span><span class="attribute-value">utf8</span><span>;   </span></span></li>
<li>
<span>SET </span><span class="attribute">character_set_results</span><span> = </span><span class="attribute-value">utf8</span><span>;   </span>
</li>
<li class="alt">
<span>SET </span><span class="attribute">character_set_connection</span><span> = </span><span class="attribute-value">utf8</span><span>;  </span>
</li>
</ol>

2. 改变数据库的编码方式

<ol class="dp-xml"><li class="alt"><span><span>alter database databasename character set utf8;  </span></span></li></ol>

通过以上的更改数据库的编码工作算是昨晚了,当然除了这个方法还有一个万能个的方法,那就是看着那个不是utf8,你只要把相应的编码改成utf8就可以了。格式如下:SET

<ol class="dp-xml"><li class="alt"><span><span class="attribute">character_set_client</span><span> = </span><span class="attribute-value">utf8</span><span>;  </span></span></li></ol>

3. 不管你是web编程还是桌面编程,你的数据库的连接地址url中,一定要后缀:

<ol class="dp-xml"><li class="alt"><span><span>?</span><span class="attribute">useUnicode</span><span>=</span><span class="attribute-value">true</span><span>&</span><span class="attribute">characterEncoding</span><span>=</span><span class="attribute-value">utf</span><span>-8/hibernate?</span><span class="attribute">useUnicode</span><span>=</span><span class="attribute-value">true</span><span>&</span><span class="attribute">characterEncoding</span><span>=</span><span class="attribute-value">utf</span><span>-8  </span></span></li></ol>

当然如果你采用了mysql的管理工具如mysql yog,mysql manager那么你数据库设定也可以在可视化环境下直接设置。当然这也只是限制在database的设定。

以上的相关内容就是对Mysql中文问题解决方案的介绍,望你能有所收获。

【编辑推荐】


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
在MySQL中使用視圖的局限性是什麼?在MySQL中使用視圖的局限性是什麼?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations:1)他們不使用Supportallsqloperations,限制DatamanipulationThroughViewSwithJoinsOrsubqueries.2)他們canimpactperformance,尤其是withcomplexcomplexclexeriesorlargedatasets.3)

確保您的MySQL數據庫:添加用戶並授予特權確保您的MySQL數據庫:添加用戶並授予特權May 14, 2025 am 12:09 AM

porthusermanagementinmysqliscialforenhancingsEcurityAndsingsmenting效率databaseoperation.1)usecReateusertoAddusers,指定connectionsourcewith@'localhost'or@'%'。

哪些因素會影響我可以在MySQL中使用的觸發器數量?哪些因素會影響我可以在MySQL中使用的觸發器數量?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers,butacticalfactorsdeterminetheireffactective:1)serverConfiguration impactactStriggerGermanagement; 2)複雜的TriggerSincreaseSySystemsystem load; 3)largertablesslowtriggerperfermance; 4)highConconcConcrencerCancancancancanceTigrignecentign; 5); 5)

mysql:存儲斑點安全嗎?mysql:存儲斑點安全嗎?May 14, 2025 am 12:07 AM

Yes,it'ssafetostoreBLOBdatainMySQL,butconsiderthesefactors:1)StorageSpace:BLOBscanconsumesignificantspace,potentiallyincreasingcostsandslowingperformance.2)Performance:LargerrowsizesduetoBLOBsmayslowdownqueries.3)BackupandRecovery:Theseprocessescanbe

mySQL:通過PHP Web界面添加用戶mySQL:通過PHP Web界面添加用戶May 14, 2025 am 12:04 AM

通過PHP網頁界面添加MySQL用戶可以使用MySQLi擴展。步驟如下:1.連接MySQL數據庫,使用MySQLi擴展。 2.創建用戶,使用CREATEUSER語句,並使用PASSWORD()函數加密密碼。 3.防止SQL注入,使用mysqli_real_escape_string()函數處理用戶輸入。 4.為新用戶分配權限,使用GRANT語句。

mysql:blob和其他無-SQL存儲,有什麼區別?mysql:blob和其他無-SQL存儲,有什麼區別?May 13, 2025 am 12:14 AM

mysql'sblobissuitableForStoringBinaryDataWithInareLationalDatabase,而ilenosqloptionslikemongodb,redis和calablesolutionsolutionsolutionsoluntionsoluntionsolundortionsolunsonstructureddata.blobobobissimplobisslowdeperformberbutslowderformandperformancewithlararengedata;

mySQL添加用戶:語法,選項和安全性最佳實踐mySQL添加用戶:語法,選項和安全性最佳實踐May 13, 2025 am 12:12 AM

toaddauserinmysql,使用:createUser'username'@'host'Indessify'password'; there'showtodoitsecurely:1)choosethehostcarecarefullytocon trolaccess.2)setResourcelimitswithoptionslikemax_queries_per_hour.3)usestrong,iniquepasswords.4)Enforcessl/tlsconnectionswith

MySQL:如何避免字符串數據類型常見錯誤?MySQL:如何避免字符串數據類型常見錯誤?May 13, 2025 am 12:09 AM

toAvoidCommonMistakeswithStringDatatatPesInMysQl,CloseStringTypenuances,chosethirtightType,andManageEngencodingAndCollat​​ionsEttingSefectery.1)usecharforfixed lengengtrings,varchar forvariable-varchar forbariaible length,andtext/blobforlargerdataa.2 seterters seterters seterters

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!