解決mysql生僻字中文亂碼顯示異常處理舉例
其他中文顯示非常正常,但是在寫入“姮”、"旻"等比較生僻的人名時報告錯誤: $db = mysql_connect($dbhost, $dbuser, $dbpwd); mysql_query("SET NAMES utf8", $db); mysql_select_db($dbname, $db); 但是為什麼會出現這種錯誤呢?反覆檢查之後發現,原來tb_test中,儲存人名的`name`列的編碼方式居然是gb2312。(系統是從舊系統整合和升級過來的,而資料表也來自舊資料表,以前的系統是gb2312編碼的,升級過程中程式設計師只修改到表的字符集,而沒有修改列的字符集) 解決方法: 將表結構和資料dump成文字指令碼,使用支援utf8編碼的編輯器開啟指令碼(推薦EditPlus),去除指定列的字符集gb2312的修飾符(因為表的字符集已經是utf8,所以去除列的字符集修飾後,列的字符集會自動繼承表的設定,成為utf8)。如sql檔案中其中一行: `name` varchar(32) character set gb2312 NOT NULL, 刪除其中字符集部分: `name` varchar(32) NOT NULL, 如果儲存的資料不是utf8的編碼,還要使用EditPlus的 文件/文件編碼方式 功能將資料轉換為utf8編碼。 修改轉換完畢後儲存指令碼,備份舊錶,執行這個指令碼檔案,列的字符集設定就統一為utf8了。 心得: 可以看出,MYSQL(本文所說的mysql版本為5.067)的字符集設定分為4個層次: 1.伺服器預設設定 my.ini 中的 default-character-set=utf8 2.建立資料庫時的字符集指定:CREATE DATABASE CHARACTER SET utf8; 3.建立表時的字符集指定:CREATE TABLE `db_database`.`tb_test` (....) DEFAULT CHARSET=utf8; 4.建立列時,指定的字符集:ADD COLUMN `name` VARCHAR(45) CHARACTER SET utf8 其中某一級如果不指定字符集,則會自動繼承上一級的字符集設定。 所以為了方便日後的整合、升級和移植等工作,如果無特殊需求,建立資料庫的時候將字符集指定到“資料庫”或“表”級別即可,無需給每一列都顯式地指定字符集。 |
相關推薦
解決mysql生僻字中文亂碼顯示異常處理舉例
其他中文顯示非常正常,但是在寫入“姮”、"旻"等比較生僻的人名時報告錯誤:Incorrect string value "..." for column ...看似是gb2312字符集不全面的問題,換用gbk的話應該就沒什麼問題了,但是疑問在這裡:資料和程式以及前臺都使用的是utf8字符集,難道utf8字
解決mysql無法插入中文資料及插入後顯示亂碼的問題【親測圖文解說!】【轉載】
(1)廢話不多說就是使用mysql資料庫的時候無法輸入中文,可以輸入中文後顯示的又是亂碼!! (2)不說了!開始解決問題! 第一步:找到安裝mysql的目錄找到 my.ini 檔案; 第二步:使用記事本開啟my.ini檔案 , 找到這個地方 看看default-character-set 是不是 ut
Spring Boot JPA MySQL 入庫MySQL資料庫時中文亂碼的解決辦法
問題表述: 上篇部落格中抒寫了Spring Data Jpa實體類自動建立資料庫表失敗解決即原因(踩過的坑),接著在操作JPA插入資料進資料庫時,發現數據庫的值為中文亂碼(??),需要注意一下的配置點,所以記錄一下,希望能幫到大家(#^.^#
Ubuntu 13.04 mysql 5.5 中文亂碼解決方案
首先是安裝MySql ,安裝命令:sudoapt-get install mysql-server 通過這個命令安裝的Mysql的版本是5.5的,在5.5中與前面版本中有一點小差別。 在使用MySql中的時候,遇到了一點小的問題,用JDBC連線,使用中文,用UTF8還是會有亂碼,
navicat for mysql 中文亂碼 顯示?問號 BUG
如果中文顯示???號 這個破問題害的我去SHOW VARIABLES LIKE '%colla%';沒用。 my.cnf 各種改 phpmyadmin 都沒錯,沒用。關鍵是 oh my zsh裡面查詢是中文的,phpm
mysql資料庫插入中文亂碼或問號--解決歷程
mysql> SET character_set_results='utf8' 重點來了!!上述都弄好的話(如果沒看懂再看下其他部落格,大同小異),用資料庫命令執行一下INSERT INTO table VALUES(‘中文’,'中文');看資料庫能不能顯示中文,
Tomcat 中 jsp 中文亂碼顯示處理解決方案
JSP 中文亂碼處理解決方案初學JSP,尤其是Tomcat環境,經常會因為中文漢字字符集設定問題導致中文亂碼,本文就這一問題提出解決方案,解決中文亂碼問題,供各位參考,我採用的方案是統一字符集至UTF-
mysql資料庫出現中文亂碼的終極解決辦法
一.windows環境: 1.找到配置檔案my.ini,一般在mysql安裝目錄下 (通過everything搜尋),開啟 2. .在標籤[mysql] 下新增或修改 default-character-set=utf8 .在
解決利用Sqoop匯入MySQl出現的中文亂碼問題
當使用Sqoop工具向MySQl資料庫匯入資料時,可能會出現中文亂碼問題,原因是character_set_server預設設定是latin1,不是中文編碼。1.查詢資料庫當前的字元編碼格式,可以使用如下命令:mysql> show variables like ‘ch
hibernate插入Mysql資料庫出現中文亂碼情況從這5個方面解決
因為有了新電腦所以又要解決亂碼問題,在網上找帖子很是頭疼,還是自己總結一下比較好。 hibernate插入Mysql資料庫出現中文亂碼情況從這幾個方面解決:有了這幾方面以後使用mysql的亂碼問題就不
Oracle使用——PLSQL的中文亂碼顯示全是問號解決辦法
1.針對登錄檔中有Oracle項解決辦法: 1> 開始——>執行——>輸入regedit——>enter進入登錄檔 2> HKEY_LOCAL_MACHINE—>SOFTWARE —> ORACLE—>KEY
mysql資料表中文亂碼解決辦法
在往mysql資料庫中插入資料的時候出現數據(漢字)亂碼情況: 在把資料庫,資料表的編碼改為UTF-8後,還是亂碼。 Mysql的預設編碼方式是Latin1,不支援中文,因此,如果要讓mysql支援中文的話需要把資料庫預設的編碼修改為gbk或者utf8。 1.檢視資料庫的
Python連線MySQL中有關中文亂碼的解決問題
一、MySQLdb中文亂碼問題的解決(Python) 寫了一個簡單的指令碼,將我的資料整理到Mysql中去。遇到了亂碼問題,改了一下,很快就解決了。連線mysql時要注意註明是utf-8字符集,所有中文都要是utf-8,如果有GBK也要先轉換成utf-8,把握這個原則,中文亂碼問題是不會有的。 轉換指令碼如
QT解決中文亂碼顯示問題
1.新增標頭檔案:#include<QTextCodec> 2.在main函式中新增如下幾行程式碼: QTextCodec*codec=QTextCodec::codecForName("GB2312"); QTextCodec:
解決Java程式向mysql資料庫插入中文亂碼問題的多種方式
方式一:設定編碼統一 1.設定eclipse環境編碼 2.設定mysql環境編碼 mydb為需要修改的資料庫名稱 方式二:建立資料庫時設定編碼 1.mysql建立database時設定編碼 create database myd
MySQL生僻字插入失敗的處理方法
mysql生僻字插入失敗的處理方法最近,業務方反饋有個別用戶信息插入失敗,報錯提示類似"Incorrect string value:"\xF0\xA5 ..... " 看這個提示應該是字符集不支持某個生僻字造成的。下面是在虛擬機裏復現的場景:step1、模擬原始表結構字符集環境:use test;CRE
解決springmvc返回json中文亂碼
jackson ons con handle json 額外 adapter blog 設置 [email protected]/* */,這個問題上網找了很久,發現答案真是人雲亦雲,奉上我的解決方案: 解決方案一:需要導入 jackson-core-asl-1
Android Studio解決Java程序輸出中文亂碼
roc 中文 Coding str uil nbsp process option clas 經查閱資料,發現需要手動在build.gradle中添加代碼 //新版 tasks.withType(JavaCompile) { options.encoding = "UT
解決 Linux centos crt 中文 亂碼 問號
Linux centos crt 中文如何查看linux系統語言 echo $LANG一般顯示為en_US.UTF-8這也是系統默認的語言 查看是否有中文語言包 locale若沒有zh_CN.UTF-8相關內容,說明沒有安裝語言包, 安裝方法如下(centos或者RedHat系列,debian使用ap
解決node裏面的中文亂碼
學習 後來 啟動 head 資料 代碼 html har count 今天咋學習node的時候,跟著視頻裏在擼代碼,但是卻出現了中文亂碼的情況,視頻中的谷歌瀏覽器可能和我的版本不一致,先看代碼吧: ‘use strict‘; const http = require