ulovko 发表于 2012-08-23 19:55

本帖最后由 ulovko 于 2012-08-23 19:57 编辑

回复 17# sleepcat ko# iconv -f gbk -t utf8 ./\?\?\?\?.txt
iconv: conversion to utf8 unsupported
iconv: try 'iconv -l' to get the list of supported encodings
ko# iconv -l
ANSI_X3.4-1968 ANSI_X3.4-1986 ASCII CP367 IBM367 ISO-IR-6 ISO646-US ISO_646.IRV:1991 US US-ASCII CSASCII
UTF-8
ISO-10646-UCS-2 UCS-2 CSUNICODE
UCS-2BE UNICODE-1-1 UNICODEBIG CSUNICODE11
UCS-2LE UNICODELITTLE
ISO-10646-UCS-4 UCS-4 CSUCS4
UCS-4BE
UCS-4LE
UTF-16
UTF-16BE
UTF-16LE
UTF-32
UTF-32BE
UTF-32LE
UNICODE-1-1-UTF-7 UTF-7 CSUNICODE11UTF7
UCS-2-INTERNAL
UCS-2-SWAPPED
UCS-4-INTERNAL
UCS-4-SWAPPED
C99
JAVA
CP819 IBM819 ISO-8859-1 ISO-IR-100 ISO8859-1 ISO_8859-1 ISO_8859-1:1987 L1 LATIN1 CSISOLATIN1
ISO-8859-2 ISO-IR-101 ISO8859-2 ISO_8859-2 ISO_8859-2:1987 L2 LATIN2 CSISOLATIN2
ISO-8859-3 ISO-IR-109 ISO8859-3 ISO_8859-3 ISO_8859-3:1988 L3 LATIN3 CSISOLATIN3
ISO-8859-4 ISO-IR-110 ISO8859-4 ISO_8859-4 ISO_8859-4:1988 L4 LATIN4 CSISOLATIN4
CYRILLIC ISO-8859-5 ISO-IR-144 ISO8859-5 ISO_8859-5 ISO_8859-5:1988 CSISOLATINCYRILLIC
ARABIC ASMO-708 ECMA-114 ISO-8859-6 ISO-IR-127 ISO8859-6 ISO_8859-6 ISO_8859-6:1987 CSISOLATINARABIC
ECMA-118 ELOT_928 GREEK GREEK8 ISO-8859-7 ISO-IR-126 ISO8859-7 ISO_8859-7 ISO_8859-7:1987 ISO_8859-7:2003 CSISOLATINGREEK
HEBREW ISO-8859-8 ISO-IR-138 ISO8859-8 ISO_8859-8 ISO_8859-8:1988 CSISOLATINHEBREW
ISO-8859-9 ISO-IR-148 ISO8859-9 ISO_8859-9 ISO_8859-9:1989 L5 LATIN5 CSISOLATIN5
ISO-8859-10 ISO-IR-157 ISO8859-10 ISO_8859-10 ISO_8859-10:1992 L6 LATIN6 CSISOLATIN6
ISO-8859-11 ISO8859-11 ISO_8859-11
ISO-8859-13 ISO-IR-179 ISO8859-13 ISO_8859-13 L7 LATIN7
ISO-8859-14 ISO-CELTIC ISO-IR-199 ISO8859-14 ISO_8859-14 ISO_8859-14:1998 L8 LATIN8
ISO-8859-15 ISO-IR-203 ISO8859-15 ISO_8859-15 ISO_8859-15:1998 LATIN-9
ISO-8859-16 ISO-IR-226 ISO8859-16 ISO_8859-16 ISO_8859-16:2001 L10 LATIN10
KOI8-R CSKOI8R
KOI8-U
KOI8-RU
CP1250 MS-EE WINDOWS-1250
CP1251 MS-CYRL WINDOWS-1251
CP1252 MS-ANSI WINDOWS-1252
CP1253 MS-GREEK WINDOWS-1253
CP1254 MS-TURK WINDOWS-1254
CP1255 MS-HEBR WINDOWS-1255
CP1256 MS-ARAB WINDOWS-1256
CP1257 WINBALTRIM WINDOWS-1257
CP1258 WINDOWS-1258
850 CP850 IBM850 CSPC850MULTILINGUAL
862 CP862 IBM862 CSPC862LATINHEBREW
866 CP866 IBM866 CSIBM866
CP1131
MAC MACINTOSH MACROMAN CSMACINTOSH
MACCENTRALEUROPE
MACICELAND
MACCROATIAN
MACROMANIA
MACCYRILLIC
MACUKRAINE
MACGREEK
MACTURKISH
MACHEBREW
MACARABIC
MACTHAI
HP-ROMAN8 R8 ROMAN8 CSHPROMAN8
NEXTSTEP
ARMSCII-8
GEORGIAN-ACADEMY
GEORGIAN-PS
KOI8-T
CP154 CYRILLIC-ASIAN PT154 PTCP154 CSPTCP154
KZ-1048 RK1048 STRK1048-2002 CSKZ1048
MULELAO-1
CP1133 IBM-CP1133
ISO-IR-166 TIS-620 TIS620 TIS620-0 TIS620.2529-1 TIS620.2533-0 TIS620.2533-1
CP874 WINDOWS-874
VISCII VISCII1.1-1 CSVISCII
TCVN TCVN-5712 TCVN5712-1 TCVN5712-1:1993
ISO-IR-14 ISO646-JP JIS_C6220-1969-RO JP CSISO14JISC6220RO
JISX0201-1976 JIS_X0201 X0201 CSHALFWIDTHKATAKANA
ISO-IR-87 JIS0208 JIS_C6226-1983 JIS_X0208 JIS_X0208-1983 JIS_X0208-1990 X0208 CSISO87JISX0208
ISO-IR-159 JIS_X0212 JIS_X0212-1990 JIS_X0212.1990-0 X0212 CSISO159JISX02121990
CN GB_1988-80 ISO-IR-57 ISO646-CN CSISO57GB1988
CHINESE GB_2312-80 ISO-IR-58 CSISO58GB231280
CN-GB-ISOIR165 ISO-IR-165
EUC-JP EUCJP EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE CSEUCPKDFMTJAPANESE
MS_KANJI SHIFT-JIS SHIFT_JIS SJIS CSSHIFTJIS
CP932
ISO-2022-JP CSISO2022JP
ISO-2022-JP-1
ISO-2022-JP-2 CSISO2022JP2
CN-GB EUC-CN EUCCN GB2312 CSGB2312
GBK
CP936 MS936 WINDOWS-936
GB18030
ISO-2022-CN CSISO2022CN
ISO-2022-CN-EXT
HZ HZ-GB-2312
EUC-TW EUCTW CSEUCTW
BIG-5 BIG-FIVE BIG5 BIGFIVE CN-BIG5 CSBIG5
CP950
BIG5-HKSCS:1999
BIG5-HKSCS:2001
BIG5-HKSCS:2004
BIG5-HKSCS BIG5-HKSCS:2008 BIG5HKSCS
EUC-KR EUCKR ISO-IR-149 KOREAN KSC_5601 KS_C_5601-1987 KS_C_5601-1989 CSEUCKR CSKSC56011987
CP949 UHC
CP1361 JOHAB
ISO-2022-KR CSISO2022KR
CP856
CP922
CP943
CP1046
CP1124
CP1129
CP1161 IBM-1161 IBM1161 CSIBM1161
CP1162 IBM-1162 IBM1162 CSIBM1162
CP1163 IBM-1163 IBM1163 CSIBM1163
DEC-KANJI
DEC-HANYU
437 CP437 IBM437 CSPC8CODEPAGE437
CP737
CP775 IBM775 CSPC775BALTIC
852 CP852 IBM852 CSPCP852
CP853
855 CP855 IBM855 CSIBM855
857 CP857 IBM857 CSIBM857
CP858
860 CP860 IBM860 CSIBM860
861 CP-IS CP861 IBM861 CSIBM861
863 CP863 IBM863 CSIBM863
CP864 IBM864 CSIBM864
865 CP865 IBM865 CSIBM865
869 CP-GR CP869 IBM869 CSIBM869
CP1125
EUC-JIS-2004 EUC-JISX0213
SHIFT_JIS-2004 SHIFT_JISX0213
ISO-2022-JP-2004 ISO-2022-JP-3
BIG5-2003
ISO-IR-230 TDS565
ATARI ATARIST
RISCOS-LATIN1
ko# iconv -f ISO-8859-1 -t UTF-8 ./\?\?\?\?.txt
iconv: ./????.txt: Invalid argument

sleepcat 发表于 2012-08-23 23:19

大哥,iconv后面加文件名的话会认为是去读那个文件。

ulovko 发表于 2012-08-24 07:08

本帖最后由 ulovko 于 2012-08-24 07:09 编辑

回复 22# sleepcat
sleepcat 发表于 2012-08-23 18:28 static/image/common/back.gif
export LANG=zh_CN.UTF-8
ls | iconv -f gbk -t utf-8

    兄弟ls 一样是读文件 不读文件怎么去修改呢?ko# cd /media; ls|iconv -f ISO-8859-1 -t UTF-8
ls: No match.

芭比小柒 发表于 2012-08-24 08:52

回复 20# ulovko


    我的意思是 随便找个编码挂载上,然后试试,
比如 mount_ntfs -C utf-8 /dev/ada0s2 /mnt然后cat vim 之类的查看

另外你什么设备?
U盘设备或者光驱设备,直接挂VBox上去,绕过FreeBSD,经过FreeBSD受FreeBSD环境参数影响的。。。。。。。。。。。。。。。。。。

ulovko 发表于 2012-08-24 08:57

@芭比小柒 http://cupic.img168.net/bbsfile/forum/201208/23/0833107hxibm4mx5iz14zg.png

我的意思是 随便找个编码挂载上,然后试试,
比如 mount_ntfs -C utf-8 /dev/ada0s2 /mnt然后cat vim 之类的查看
依旧不管用



    -L locale
             Specify locale name used for file name conversions for DOS and
             Win'95 names.By default ISO 8859-1 assumed as local character
             set.

这些编码都试过了,没戏 O_o
> ls /usr/share/locale/zh
zh_CN.GB18030/   zh_CN.UTF-8/   zh_HK.UTF-8/   
zh_CN.GB2312/    zh_CN.eucCN/   zh_TW.Big5/      
zh_CN.GBK/       zh_HK.Big5HKSCS/ zh_TW.UTF-8/   
> ls /usr/share/locale/|grep -i ascii
en_AU.US-ASCII
en_CA.US-ASCII
en_GB.US-ASCII
en_NZ.US-ASCII
en_US.US-ASCII
la_LN.US-ASCII

# mount_msdosfs -L zh_CN.GBK /dev/da0s4 /media/
# ls /media/
������¼.txt*    ������¼/

# mount_msdosfs -L en_US.US-ASCII /dev/da0s4 /media/
# ls /media/
������¼.txt*    ������¼/

chenyx 发表于 2012-08-24 09:00

会不会是字体的问题?ko找个windows的gbk字体安装下看看能显示出来不

芭比小柒 发表于 2012-08-24 09:01

回复 25# ulovko


    不要用ls,直接cat

你道地什么系统啊,那个东西怎么回事msdosfs的啊
。。。
如果是U盘,直接挂VBox里去,

jvvt 发表于 2012-08-24 09:40

iconv 是用来转换文件内容编码的,好像不能转换文件名的编码。

提供一个思路,不知道可不可行。

先用命令ls -i查看文件的inode编号,然后用find命令通过inode编号找到文件,然后将输出通过管道传递给文本编辑器,最后在文本编辑器中另存为正常的文件。

例如这样(其中xxxxx为ls -i查出的inode编号):find . -inum xxxxx | xagrs leafpad另外,leafpad在中文locale下可以自动探测中文文本文件的编码,所以推荐用leafpad打开。

ulovko 发表于 2012-08-24 09:43

@chenyx @芭比小柒
ko# mount_msdosfs -L zh_CN.GBK /dev/da1s4 /media/

ko# cat /media/*.txt
20120818 ���
��װFreeBSD 9.0����ϵͳ���������������������д����ҳ��ͨ�����ԡ�

20120820 ��һ��
��д ����FTP�Զ��������yű����� ftp_anonymous.sh��
��д �Զ��������� ϵͳ�������� �� ���e����������������Ľű����� ���������������� ʹ����������������ȫ�Զ���װports �����û����룬ͬʱ�õ� ��make.conf ���������������� ���ļ���
� ʹ�������ò��� � ʹ����� ʹ���� ����д����ҳ�����ԡ�

20120821 �ܶ���
�������� Nginx ����������Ϊǰ�� ʹ�����Ϊ���ˣ���̬ҳ���� ʹ����������� ʹ����ҳ�潻��� ʹ�������ϸ�����ļ� ����� ʹ�����ļ��У� ���������� ��װ � ʹ����� ʹ��������ԡ����ļ���


���Ƕ������ļ������޸ġ����ӵIJ��� ���Ѽ���ע�͡�ko#

ko# file /media/*.txt
/media/������¼.txt: ISO-8859 text, with CRLF line terminators
最后使用了支持Windows 编码的 mousepad 打开了,一直用vim /more/less看文件 忘了还有这个东西 >_<
> mousepad /media/*.txt

芭比小柒 发表于 2012-08-24 10:03

其实我一直想知道。。。你道地是什么设备。。。。。。。。。。。。
页: 1 2 [3] 4 5 6
查看完整版本: 【已经解决】如何操作 无法识别的文件 比如: ????.txt (另:命令行显示中文)