hive中文亂碼的解決辦法

2021-07-31 11:56:08 字數 1232 閱讀 6446

在hive中建表的時候,有時候難免要表中文注釋,然而如果不經過配置,會導致desc某個表名的時候,直接以?的方式返回。

因此也來解決一下hive中文注釋亂碼的問題。由於hive的元資料是存在於mysql上的,因此需要在mysql上進行元資料的候。

當hive使用mysql作為元資料庫的時候mysql的字符集要設定成latin1 default。

alter database hive character set latin1;

為了儲存那些utf8的中文,要將mysql中儲存注釋的那幾個欄位的字符集單獨修改為utf8。

1.修改字段注釋字符集

修改mysql-hive資料庫當中的columns_v2表

alter

table columns_v2 modify column comment varchar(256) character

set utf8;

2.修改表注釋字符集

修改mysql-hive資料庫當中的table_params表

alter

table table_params modify column param_value varchar(4000) character

set utf8;

3.修改分割槽表引數,以支援分割槽鍵能夠用中文表示

修改mysql-hive資料庫當中的partition_params與partition_keys表

alter

table partition_params modify column param_value varchar(4000) character

set utf8;

alter

table partition_keys modify column pkey_comment varchar(4000) character

set utf8;

如果以上修改還不成功,需要在hive-site.xml修改mysql對於hive的編碼為utf8

4.修改相關表相關字段編碼

alter

table index_params modify column param_value varchar(4000) character

set utf8;

ajax php中文亂碼解決辦法

ajax的亂碼的出現在的原因 www.jiedichina.com 南京捷帝 由於xmlhttp採用的是unicode編碼上傳資料,而一般頁面採用的是gb2312,這就造成顯示頁面時產生亂碼。而當在獲取頁面時的xmlhttp返回的是utf 8編碼,這就造成了顯示產生亂碼。解決方法之一就是在php檔案...

ajax php中文亂碼解決辦法

今天在做乙個ajax效果的時候遇到乙個問題,前台輸入的中文傳入php檔案後亂碼,弄了一下午才好。現在把解決辦法寫下來 ajax的亂碼的出現在的原因 由於xmlhttp採用的是unicode編碼上傳資料,而一般頁面採用的是gb2312,這就造成顯示頁面時產生亂碼。而當在獲取頁面時的xmlhttp返回的...

centos 中文亂碼解決辦法

緣由 本人在虛擬機器中安裝centos 5.3,起初安裝時選擇了english,後來使用的過程中發現開啟網頁,會出現中文亂碼,無法正常顯示。當然,本地檔案中的中文更是無法顯示。若是將系統語言language設定成中文,則整個系統全部亂碼。綜上 解決系統中文亂碼的步驟為 1.在光碟中 找到這兩個包,安...