i) mysql亂碼解決方案
linux
下mysql
中文亂碼解決方法
系統環境
:suselinux server 10,mysql 5.0 安裝
mysql
後,預設的字符集是
latin1
。在linux
下安裝mysql
不像在windows
上安裝那像,可以選擇字符集
(即使當時使用了預設的字符集,安裝後也可以在安裝目錄下修改
my.ini
檔案),但是在
linux
就不太一樣了。 在
shell
輸入mysql
登陸後:
mysql>show variables like '%char%';
回車後顯示:
+---------------------
-+-----
----------------
| variable_name | value
+-----------------------+-
--------------------
| character_set_client | latin1
| character_set_connection | latin1
| character_set_database | latin1
| character_set_filesystem | binary
| character_set_results | latin1
| character_set_server | latin1
| character_set_system | utf8
| character_sets_dir | /usr/share/mysql/charsets/
+---------------------+
----------------------
這就是它預設的設定。
接下來到
/usr/share/mysql/
目錄下,將
my-medium.cnf檔案(
使用其它例項配置檔案也行
)拷貝到
/etc
目錄下:
pds:~# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
pds:~# vi /etc/my.cnf
分別在如下幾項中新增字符集:
[client]
default-character-set=gb2312
[mysqld_safe]
default-character-set=gb2312
[mysqld]
default-character-set=gb2312
#default-table-type=innodb
[mysql]
default-character-set=gb2312
再重啟mysql
讓配置生效:
pds:~# service mysql restart
shutting down mysql done
starting mysql done
再次登陸
mysql
後,檢視變數:
mysql>show variables like '%char%';
+---------------------
-+-----
----------------
| variable_name | value
+-----------------------+-
--------------------
| character_set_client | gb2312
| character_set_connection | gb2312
| character_set_database | gb2312
| character_set_filesystem | binary
| character_set_results | gb2312
| character_set_server | gb2312
| character_set_system | utf8
| character_sets_dir | /usr/share/mysql/charsets/
+---------------------+
----------------------
如此顯示就完成了配置了,在表中插入一條含中文的記錄,就不再出現亂碼,但是原來插入的記錄很可能還是亂碼,因為原來的字符集與當前字符集不一致。
ii) mysql遠端連線慢
在進行ping
和route
後發現網路通訊都是正常的,而且在
mysql
機器上進行本地連線發現是很快的,所以網路問題基本上被排除了。以前也遇到過一次這樣的問題,可後來就不知怎麼突然好了,這次又遭遇這樣的問題,所以想看看是不是
mysql
的配置問題。在查詢
mysql
相關文件和網路搜尋後,發現了乙個配置似乎可以解決這樣的問題,就是在
mysql
的配置檔案中增加如下配置引數:
[mysqld]
skip-name-resolve
mysql亂碼解決方案
對於mysql資料庫的亂碼問題,有兩中情況 1.mysql資料庫編碼問題 建庫時設定 2.連線mysql資料庫的url編碼設定問題。對於第乙個問題,目前個人發現只能通過重新建庫解決,建庫的時候,選擇utf 8字符集。我試過修改現有資料庫字符集為uft 8,但是根本不起作用,插入的中文仍然亂碼 中文顯...
MYSQL中文亂碼解決方案
mysql資料庫存在著編碼問題,主要體現在資料庫裡漢字會出現亂碼,web頁面漢字顯示不正常。歸結起來只有乙個原因 會出現編碼的地方存在編碼不一致。web開發中 mysql編碼主要會出現在五個地方 1.mysql安裝的預設編碼 latin1 在mysql.ini mysql安裝根目錄下 中設定。mys...
MySQL亂碼終極解決方案
從mysql 4.1開始引入的多語言支援確實很棒,而且一些特性已經超過了其他的資料庫系統。不過在測試過程中發現使用適用於mysql 4.1之前的php語句操作mysql資料庫會造成亂碼,即使是設定過了表字符集也是如此。mysql 4.1的字符集支援 character set support 有兩個...