应该是无关网页本身的我上传的文件,是JPG的,中文也不行

解决方案 »

  1.   

    或者你把中文明改成utf-8编码
    如果你用utf-8编码的网页,提交的文件名就不用转换了
      

  2.   

    我把上传文件、显示文件的页面都改成了UTF-8编码
    结果,数据库读取出的文字成了乱码,中文名的文件照样链接错误
      

  3.   

    修改apache的默认编码。AddDefaultCharset gb2312
      

  4.   

    在Apache配置文件中找到这一块:请问如何改?    AddLanguage da .dk
        AddLanguage nl .nl
        AddLanguage en .en
        AddLanguage et .ee
        AddLanguage fr .fr
        AddLanguage de .de
        AddLanguage el .el
        AddLanguage he .he
        AddCharset ISO-8859-8 .iso8859-8
        AddLanguage it .it
        AddLanguage ja .ja
        AddCharset ISO-2022-JP .jis
        AddLanguage kr .kr
        AddCharset ISO-2022-KR .iso-kr
        AddLanguage nn .nn
        AddLanguage no .no
        AddLanguage pl .po
        AddCharset ISO-8859-2 .iso-pl
        AddLanguage pt .pt
        AddLanguage pt-br .pt-br
        AddLanguage ltz .lu
        AddLanguage ca .ca
        AddLanguage es .es
        AddLanguage sv .sv
        AddLanguage cs .cz .cs
        AddLanguage ru .ru
        AddLanguage zh-TW .zh-tw
        AddCharset Big5         .Big5    .big5
        AddCharset WINDOWS-1251 .cp-1251
        AddCharset CP866        .cp866
        AddCharset ISO-8859-5   .iso-ru
        AddCharset KOI8-R       .koi8-r
        AddCharset UCS-2        .ucs2
        AddCharset UCS-4        .ucs4
        AddCharset UTF-8        .utf8
      

  5.   


    开始对CSDN失望了,至少对这个版块失望决定这个问题不解决,就不结帖
      

  6.   

    你把apache设置下的  AddDefaultCharset UTF-8   换成  AddDefaultCharset zh-CN  看看行不行
      

  7.   

    我看不仅仅是你的apache没设置好,你的数据库可能也没设置好吧?
      

  8.   

    wy2000490(军) :
     我的apache里没有AddDefaultCharset的项
     仔细一看,好像没有关于“简体中文”的AddCharset,我想问题是出在这里,谁能提供这个AddCharset的设置语句?zeroleonhart(莱昂哈特) :
     我的数据库设置是正常的,中文字段可以取得出来
     比如我在数据库保存的中文文件名,写和读都正常,url确实是正确的,只是apache无法定位到相应含中文的文件
      

  9.   

    各位,其实这个问题我算是暂时解决了其实用urlencode函数,把记录的文件名转成URL编码就可以用
    但是每一个地方都要这样改很麻烦
    而且只对由程序产生的链接才能这样用
    还有一个关键问题是,这样提供下载的文件,文件名不是中文名的而是URL编码的原来要保留中文的上传功能,本意就是为了方便用户下载的文件名直观及反映上传者的意图
    目前虽然是可实现上传下载,但设计的本意是没达到的(从需求的满意来看,和用数字串文件名来做,效果是一样)所以我还是想彻底解决这个问题
      

  10.   

    # Commonly used filename extensions to character sets. You probably
    # want to avoid clashes with the language extensions, unless you
    # are good at carefully testing your setup after each change.
    # See http://www.iana.org/assignments/character-sets for the
    # official list of charset names and their respective RFCs.
    #
    AddCharset ISO-8859-1  .iso8859-1  .latin1
    AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen
    AddCharset ISO-8859-3  .iso8859-3  .latin3
    AddCharset ISO-8859-4  .iso8859-4  .latin4
    AddCharset ISO-8859-5  .iso8859-5  .latin5 .cyr .iso-ru
    AddCharset ISO-8859-6  .iso8859-6  .latin6 .arb
    AddCharset ISO-8859-7  .iso8859-7  .latin7 .grk
    AddCharset ISO-8859-8  .iso8859-8  .latin8 .heb
    AddCharset ISO-8859-9  .iso8859-9  .latin9 .trk
    AddCharset ISO-2022-JP .iso2022-jp .jis
    AddCharset ISO-2022-KR .iso2022-kr .kis
    AddCharset ISO-2022-CN .iso2022-cn .cis
    AddCharset Big5        .Big5       .big5
    # For russian, more than one charset is used (depends on client, mostly):
    AddCharset WINDOWS-1251 .cp-1251   .win-1251
    AddCharset CP866       .cp866
    AddCharset KOI8-r      .koi8-r .koi8-ru
    AddCharset KOI8-ru     .koi8-uk .ua
    AddCharset ISO-10646-UCS-2 .ucs2
    AddCharset ISO-10646-UCS-4 .ucs4
    AddCharset UTF-8       .utf8
    # The set below does not map to a specific (iso) standard
    # but works on a fairly wide range of browsers. Note that
    # capitalization actually matters (it should not, but it
    # does for some browsers).
    #
    # See http://www.iana.org/assignments/character-sets
    # for a list of sorts. But browsers support few.
    #
    AddCharset GB2312      .gb2312 .gb
    AddCharset utf-7       .utf7
    AddCharset utf-8       .utf8
    AddCharset big5        .big5 .b5
    AddCharset EUC-TW      .euc-tw
    AddCharset EUC-JP      .euc-jp
    AddCharset EUC-KR      .euc-kr
    AddCharset shift_jis   .sjis
      

  11.   

    header("Content-Disposition: attachment; filename=".$filename);在服务器上存放英文或者数字命名的文件供下载
    在数据库里面记录这个文件的中文名字
    下载的时候用字节流输出
    页面上添上上面那句话,$filename变量是中文名
      

  12.   

    gaochao79(无妻徒刑) :应该是很好的解决方法,能否详说?
    我应该怎么实现“下载的时候用字节流输出?”
      

  13.   

    handywu(没有鲜花插的牛粪):我在处理上传的时候,是已经强制改名了
    问题是,我怎么才能在提供下载时,让用户使用回上传时的文件名?