• 23-04-2023, 02:38:15
    #1
    Python kodunu kendi bilgisayarımda çalıştırınca, Windows 10. Hiç bir sorun çıkartmıyor.
    Ama vdsde çalıştırınca Server2019
    Bu hatayı verip duruyor

    Traceback (most recent call last):
      File "main.py", line 948, in <module>
        locale.setlocale(locale.LC_TIME, 'tr_TR.utf8')
      File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\locale.py", line 608, in setlocale
        return _setlocale(category, locale)
    locale.Error: unsupported locale setting
    Şöyle birşey deniyorum.
    Çektiğim linkleri başta sıfırdan bir json dosyası açıp ona kaydediyorum.
    Sonra ikinci koşulda yeni linkler varsa, json dosyasında olmayan, Onlarıda tekrar json dosyasına ekliyorum.
    .txt dosya denedim bu hatayı verdi json olarak deneyim dedim bu hatayı aldım.
    Bunun sebebinide biliyorum Server işletim sistemlerinde python ile txt json vs girdi kaydederken BOM-Utf-8e kaydediyorum bundan kaynaklı olduğunu düşünüyorum

            with open("linkler.json", "r") as f99:
                data = json.load(f99)
            linkler = data["Linkler"]
            for item in results1:
                if item not in linkler:
                    linkler.append(item)
            with open("linkler.json", "w") as f88:
                json.dump({"Linkler": linkler}, f88)
  • 23-04-2023, 02:45:37
    #2
    Bu hata, kodunuzda kullanılan locale.setlocale() işlevinden kaynaklanıyor gibi görünüyor. Bu işlev, yerel ayarları belirlemek için kullanılır. Ancak, hatanın "unsupported locale setting" mesajı, VDS'de kullanılan yerel ayarın desteklenmediğini gösteriyor.
    Çözüm olarak, yerel ayarları belirlemek yerine, kodunuzda yerel ayarları varsayılan olarak bırakabilirsiniz. Bunun için, locale.setlocale() işlevini kullanmak yerine aşağıdaki gibi bir değişiklik yapabilirsiniz:

    import locale
    locale.setlocale(locale.LC_ALL, '')
    Bu kod, yerel ayarları varsayılan olarak ayarlar ve locale.Error: unsupported locale setting hatasını önler. Ayrıca, dosya işlemlerinde kullanılan karakter kodlamasını da kontrol etmeniz önerilir. open() işlevinde encoding='utf-8' parametresini kullanarak utf-8 karakter kodlamasını belirtebilirsiniz. Örneğin:

    with open("linkler.json", "r", encoding="utf-8") as f99:
        data = json.load(f99)
    Bu değişiklikleri yaparak kodunuzu VDS'de de sorunsuz bir şekilde çalıştırabilirsiniz.
  • 23-04-2023, 03:04:28
    #3
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Bu hata, kodunuzda kullanılan locale.setlocale() işlevinden kaynaklanıyor gibi görünüyor. Bu işlev, yerel ayarları belirlemek için kullanılır. Ancak, hatanın "unsupported locale setting" mesajı, VDS'de kullanılan yerel ayarın desteklenmediğini gösteriyor.
    Çözüm olarak, yerel ayarları belirlemek yerine, kodunuzda yerel ayarları varsayılan olarak bırakabilirsiniz. Bunun için, locale.setlocale() işlevini kullanmak yerine aşağıdaki gibi bir değişiklik yapabilirsiniz:

    import locale
    locale.setlocale(locale.LC_ALL, '')
    Bu kod, yerel ayarları varsayılan olarak ayarlar ve locale.Error: unsupported locale setting hatasını önler. Ayrıca, dosya işlemlerinde kullanılan karakter kodlamasını da kontrol etmeniz önerilir. open() işlevinde encoding='utf-8' parametresini kullanarak utf-8 karakter kodlamasını belirtebilirsiniz. Örneğin:

    with open("linkler.json", "r", encoding="utf-8") as f99:
        data = json.load(f99)
    Bu değişiklikleri yaparak kodunuzu VDS'de de sorunsuz bir şekilde çalıştırabilirsiniz.
    encoding="utf-8" çokça denedim. kodumda vardı aslında, json'a çevirince eklemeyi unuttum.
    locale için onlarca çözüm denedim. olmadı.
    birkaçgündür bunla uğraşıyorum,
    en iyisi veritabanı kurup onla kayıt almak. yarın deneyeceğim bunu,
    teşekkürler

    Server 2019 kaynaklı bir problem.
  • 25-04-2023, 21:06:20
    #4
    locale.setlocale(locale.LC_TIME, 'tr_TR.utf8')
    Bu kodu python scriptimden kaldırınca düzeldi. Ne gereksiz bir kodmuş bu. Birkaç gündür çözüm arıyorum. Kahrolasıca.