>2938> JSON 추출 과정에서 버그가 납니다. (8)

익명의 참치 씨
2025-4-10 (목) 오전 11:07:51 - 2025-4-10 (목) 오후 10:16:12
    • 2025-4-10 (목) 오전 11:07:51
      4월 7일 commit version으로 JSON 추출을 위한 python 전용 도구를 활용해서 anchor의 어장을 빌드하려 했습니다. 윈도우에서 수행했고, anchor는 splited 버전으로 받았습니다. 용량이 부담되어서, 다운받은 JSON 파일 전체에서 data 폴더, index.json파일, 그리고 1000000001.json, 1000000002.json,1000000003.json,1000000004.json,1000000005.json 파일만 python 전용 도구 clone한 폴더의 위치에 옮겨서 빌드를 시행했습니다. 그런데 run.py의 125번째 줄(df.write(minify_html.minify(page, minify_css=True, remove_processing_instructions=True)))을 수행하면서 문자열에 서로게이트(surrogate) 문자가 있어서 utf-8로 읽을 수 없다는 error가 나옵니다. 구체적으로 1000000001.json의 경우는 'UnicodeEncodeError: 'utf-8' codec can't encode characters in position 2833-2835: surrogates not allowed' 구체적으로 1000000002.json의 경우는 'UnicodeEncodeError: 'utf-8' codec can't encode characters in position 2833-2835: surrogates not allowed' 구체적으로 1000000003.json의 경우는 'UnicodeEncodeError: 'utf-8' codec can't encode characters in position 2819-2821: surrogates not allowed' 구체적으로 1000000004.json의 경우는 'UnicodeEncodeError: 'utf-8' codec can't encode characters in position 2818-2820: surrogates not allowed' 구체적으로 1000000005.json의 경우는 'UnicodeEncodeError: 'utf-8' codec can't encode characters in position 2818-2820: surrogates not allowed' 로 나옵니다. 어장에 쓰인 공통적 문자열 중 utf-8로 안 읽히는 문자열이 있는 것 같습니다.
        • 2025-4-10 (목) 오후 05:49:28
          아마도 인코딩 문제일 것 같은데, 정확한 실행 환경을 알려줘. 그리고 참치게시판 데이터로도 똑같이 문제가 발생하는지 알려줘.
            • 2025-4-10 (목) 오후 07:16:05
              원인 확인됨. 로캐일 관련 문제였음. 수정하고 푸시할게.
                • 2025-4-10 (목) 오후 07:40:18
                  적용됨. 최신버전으로 하면 될 거야 --windows 옵션 붙이고.
                    • 2025-4-10 (목) 오후 07:57:57
                      버그 없이 작동됩니다. 그런데 dist의 각 폴더에 있는 index로 들어가보면 AA가 다 깨져서 나와요.
                        • 2025-4-10 (목) 오후 08:02:33
                          웹 폰트 적용이 안 된 것 같습니다만 잘은 모르겠어요. anchor의 1000000001, 1000000002 로 했을때 그렇게 나옵니다.
                            • 2025-4-10 (목) 오후 10:08:22
                              >>4-5 적용되어있음. 초기에는 사용자들이 aa 콘솔을 안쓰고 돌린 것들이 좀 있어서 그래. 구 게시판의 경우엔 앵커판만 따로 전체 페이지에 aa 를 걸어놨는데 아카이브쪽엔 그게 안되어있다. 앵커판에 전역으로 aa 폰트를 적용하고싶으면 trace.html.j2에서 .response_body에 .mona 속성을 복붙하면 돼.
                                • 2025-4-10 (목) 오후 10:09:02
                                  전체를 복붙하진 말고 font-family: 'Saitamaar', sans-serif; line-height: 1.125em; 이거 두개만 붙이는 게 맞을듯.
                                    • 2025-4-10 (목) 오후 10:16:12
                                      옵션에 --body-aa 추가했으니 README 참고.
                                      Thread is over...