V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yooooo
V2EX  ›  问与答

学习过程中,有个疑问求教: "."为什么会变成”?“。

  •  
  •   yooooo · 2011-11-19 14:52:57 +08:00 · 3583 次点击
    这是一个创建于 4756 天前的主题,其中的信息可能已经有所发展或是发生改变。
    学习PHP中.

    正看到文件处理部分,于是想写个简单的程序遍历下硬盘里的收藏物并统计图片总和大小。

    弄了一阵貌似成功了,但是这样的文件读不出来,比如这个 :


    Warning: filesize() [function.filesize]: stat failed for H:/东瀛文化遗产/同人志/Darker Then Black/[L.S.同漫组](C77)(同人誌)[シュート?ザ?ムーン]ゴキブリ(DARKER_THAN_BLACK) in C:\xampp\htdocs\PHP\4.01.php on line 51
    共计16个文件,总和为12.67MB【合体时间:2011-02-24 04:57:34.】

    源文件名是:[L.S.同漫组](C77)(同人誌)[シュート・ザ・ムーン]ゴキブリ(DARKER_THAN_BLACK)

    · 这个符号读不出来,求解。
    7 条回复    1970-01-01 08:00:00 +08:00
    ywjno
        1
    ywjno  
       2011-11-19 15:05:06 +08:00
    字符集不同,你那个是日文的"・"
    直接在程序里面设定字符集试试看?
    xupefei
        2
    xupefei  
       2011-11-19 15:06:59 +08:00
    ・ 是Shift-JIS中的文字,0x8145 (in SJIS)
    而在汉语的GBK系列编码中并没有这个字符,所以无法显示变成了 ?

    要解决这个问题,可以改用 Unicode 或 UTF8 等编码
    Cohen
        3
    Cohen  
       2011-11-19 15:32:51 +08:00
    东瀛文化遗产。。。
    yooooo
        4
    yooooo  
    OP
       2011-11-19 17:54:36 +08:00
    @xupefei 一开始就是UFT8的 但是这样就全是乱码 一个文件都读不出来。
    benzhe
        5
    benzhe  
       2011-11-19 18:37:13 +08:00
    @yooooo 要使用 iconv或者mb_convert_encoding转换编码,不过首先要清楚你操作系统对日文字符的默认编码,对于多语言的处理最好全转为utf8吧
    Platinum
        6
    Platinum  
       2011-11-19 19:29:17 +08:00
    windows 的 cp936 是很苦逼的事情,如果随便玩玩就当我没说,如果是想以此为职业,珍爱生命,远离 windows
    myrual
        7
    myrual  
       2011-11-19 22:10:21 +08:00
    @Platinum 同感。cp936 gb2312之类的东西很麻烦。
    最好一开始就是Unicode。可以避免很多问题。
    当用eclipse打开cp936编码的文件的时候,一片一片的乱码。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5335 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:21 · PVG 16:21 · LAX 00:21 · JFK 03:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.