iconvlinux
Ⅰ linux下iconv bus error該如何解決
bus error 是匯流排錯誤,這個錯誤一般是程序無法有效兼容當前 CPU 的工作而報錯。
這只能刪了這個軟體重新裝。
Ⅱ linuxiconvlatin1轉utf8
linux下使用iconv命令轉換gbk編橡物碼為UTF-8編碼
1.
通過iconv -l 命令查看,其支持的編碼格唯旁式還不少,之間可以互相轉換
2.
轉換gbk編碼文件為utf-8編碼文件簡潔命令:iconv -f gbk -t utf-8 index.html > aautf8.html -f指的是原始文件編碼,-t是輸出編碼 index.html 是原始梁山液文件 aautf8.html是輸出結果文件
3.
轉換gbk編碼文件為utf-8編碼文件詳細命
Ⅲ 如何解決 linux 的亂碼問題
出現這種情況的原因為兩種操作系統的中文壓縮方式不同,在windows環境中中文壓縮一般為gbk,而在linux環境中為utf8,這就導致了在windows下能正常顯示
txt文件在linux環境下打開呈現了亂碼狀態。
解決方法:在linux用iconv命令,輸入命令如下
iconv
-f
gbk
-t
utf8
file.pdf
>
file.pdf.utf8
此時會重生一file.utf8文件,打開之後就能正常顯示中文
linux系統下修改語言配置方法有:
法一:修改/etc/profile文件,增加export
LANG=zh_CN.GB18030
法二:修改/etc/sysconfig/i18n文件,將
#LANG="en_US.UTF-8"
#SUPPORTED="en_US.UTF-8:en_US:en"
#SYSFONT="latarcyrheb-sun16"
改為
LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"
SYSFONT="latarcyrheb-sun16"
/etc/profile:
為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.
/etc/sysconfig/i18n
這里存放的是系統的區域語言設置
LANG
表明你當前系統的語言環境變數設置
,這里是
zh_CN.GB18030
SUPPORTED
表明系統預置了那些語言支持
,不在項目中的語言不能正常顯示
SYSFONT
定義控制台終端字體,你文本登錄的時候顯示的字體是
latarcyrheb-sun16
I18N
是
internationalization
的縮寫形式,意即在
i
和
n
之間有
18
個字母,本意是指軟體的「國際化」.I18N支持多種語言,不過同一時間只能是英文和一種選定的語言,例如英文+中文、英文+德文、英文+韓文等等;
如果在SCRT上操作時中文亂碼,可依次點擊options--session
options--appearance,選擇character
encoding為UTF-8
Ⅳ linux下C語言iconv字元轉換問題
#include <iconv.h>
size_t iconv(iconv_t cd,
char **inbuf, size_t *inbytesleft,
char **outbuf, size_t *outbytesleft);
你看函數原型, outbuf是一個 char **類型
在函數手冊中:
The iconv() function converts one multibyte character at a time, and for each character conversion it increments *inbuf and decrements
*inbytesleft by the number of converted input bytes, it increments *outbuf and decrements *outbytesleft by the number of converted
output bytes
也就是說,當你執行過iconv以後,*outbuf所指向的內存空間位置已經被改掉了, 所以你任何時候去讀*outbuf, 都是讀不到任何iconv後的數據的(都在*outbuf這個指針前面放著呢)。
所以你應該 預先備份outbuf的數據,
比如 char k[1000]; char *outb = k; 執行完iconv(t,&inb,&inl,&outb,&outl)以後,你去讀k數組就可以了。
Ⅳ iconv 是不是linux標准庫
linux是操作系統,不存在標准庫概念。
如果說linux所使用的C語言,它的標准庫是啥?是glibc。
iconv是 glibc 中的內容。
關於 glibc
The GNU C Library is used as the C library in the GNU systems and most systems with the Linux kernel.
參考資料:
http://en.wikipedia.org/wiki/Iconv
All recent Linux distributions contain a free implementation of iconv() as part of the GNU C Library which is the C library for current Linux systems. To use it, the GNU glibc locales need to be installed, which are provided as a separate package (usually named glibc-locale) normally installed by default.
Ⅵ linux下用iconv函數進行格式的轉換,運行時在iconv函數上總是退出程序,出錯,求解
檢查一下第四個參數。
size_t iconv (iconv_t cd,
const char* * inbuf, size_t * inbytesleft,
char* * outbuf, size_t * outbytesleft);
你是如何定義的,又是如何調用的?
參考的定義方法及調用方法:
char output[BUFSIZ], *outp = output;
iconv(cd, inbuf, &insize, &outp, &outsize);
Ⅶ linux iconv函數在哪個庫
1、下載libiconv函數庫ftp/pub/gnu/libiconv/libiconv-1/pub/gnu/libiconv/libiconv-1/manual/zh/function.mb-convert-encoding.php 做一個GBK To UTF-8 復制代碼 代碼如下: < ?php header("content-Type: text/html; charset=Utf-8"); echo mb_convert_encoding("你系我的友仔", "UTF-8", "GBK"); ?> 再來個GB2312 To Big5 復制代碼 代碼如下: < ?php header("content-Type: text/html; charset=big5"); echo mb_convert_encoding("你是我的朋友", "big5", "GB2312"); ?> 不過要使用上面的函數需要安裝但是需要先enable mbstring 擴展庫。 PHP中的另外一個函數iconv也是用來轉換字元串編碼的,與上函數功能相似。 下面還有一些詳細的例子: iconv — Convert string to requested character encoding (PHP 4 >= 4.0.5, PHP 5) mb_convert_encoding — Convert character encoding (PHP 4 >= 4.0.6, PHP 5) 用法: string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] ) 需要先enable mbstring 擴展庫,在 php.ini里將; extension=php_mbstring.dll 前面的 ; 去掉 mb_convert_encoding 可以指定多種輸入編碼,它會根據內容自動識別,但是執行效率比iconv差太多; string iconv ( string in_charset, string out_charset, string str ) 注意:第二個參數,除了可以指定要轉化到的編碼以外,還可以增加兩個後綴://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 會自動將不能直接轉化的字元變成一個或多個近似的字元,//IGNORE 會忽略掉不能轉化的字元,而默認效果是從第一個非法字元截斷。 Returns the converted string or FALSE on failure. 使用: 發現iconv在轉換字元」—」到gb2312時會出錯,如果沒有ignore參數,所有該字元後面的字元串都無法被保存。不管怎麼樣,這個」—」都無法轉換成功,無法輸出。 另外mb_convert_encoding沒有這個bug. 一般情況下用 iconv,只有當遇到無法確定原編碼是何種編碼,或者iconv轉化後無法正常顯示時才用mb_convert_encoding 函數. from_encoding is specified by character code name before conversion. it can be array or string - comma separated enumerated list. If it is not specified, the internal encoding will be used. /* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */ $str = mb_convert_encoding($str, "UCS-2LE」, "JIS, eucjp-win, sjis-win」); /* "auto」 is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS」 */ $str = mb_convert_encoding($str, "EUC-JP」, "auto」); 例子: 復制代碼 代碼如下: $content = iconv(」GBK」, "UTF-8", $content); $content = mb_convert_encoding($content, "UTF-8", "GBK」);