모듈 토크:디코드엔코드
Module talk| 모듈:DecodeEncode는 많이 사용되거나 잘 보이는 모듈이기 때문에 편집으로부터 영구적으로 보호됩니다.여기서 먼저 실질적인 변화를 제안해야 합니다.제안서가 논란의 여지가 없거나 토론을 거쳤으며 합의에 의해 지지를 받는 경우, 편집자는 {edit template-protected}을(를) 사용하여 관리자 또는 템플릿 편집자에게 요청된 편집을 수행하도록 알릴 수 있습니다. |
버그 보고서: U+03B5 µ(엡실론)의 잘못된 디코딩
U+03B5 ε그리스어 작은 문자 EPSILON(ε ε) 정보
- 문제: HTML 엔티티를 확인한 후
ε타고mw.text.decode()일반 문자를 찾을 수 없습니다.mw.ustring.gsub()대체 HTML 엔터티에 문제 없음ε"좋음" "좋음"나쁨.
- 보고서 제한:원본 보고서 및 버그 재생산은 enwiki 모듈 강연에서 진행됩니다.디코딩Encode, 여기서 en:module:DecodeEncode 및 en:module:String이 실시간으로 사용됩니다.패브레이커 유사 코드가 사용될 수 있으며 일부 "결과"가 하드 코딩될 수 있습니다.텍스트로 이스케이트
&사용되며, 작동하지 않습니다.Lua 패턴 미사용("no")%").
- 재생산 방법:
- 연구 문자열 만들기:
Xε1Xε2X(라이브 및 편집되지 않은 상태를 Xε1Xε2X로 표시)
- 문자열 렌더링 기준
decode()(내부 함수로서) - 렌더링된 결과를 사용할 수 있습니다.
gsub()평범한 성격을 대체하기 위해ε→E(외부 기능으로)mw.ustring.gsub( s=([사이비 코드입니다, 참고 참조. 2023년 2월 7일(UTC) 21:10]mw.text.decode( s=Xε1Xε2X, decodeNamedEntities=true )), pattern=ε, repl=E )
- 결과 3(s&r 패턴 사용 ε from
Xε1X):- XE1XE2X
- 결과 4(s&r 패턴 사용 ε from
Xε2X):- XE1XE2X
- 예상:
XE1XE2X(한 문자만)ε있음)
해결 방법 A, 애드혹
해결 방법 A, 임시: 연구 문자열에서 먼저 대체할 내부 함수 추가ε→ε:
- A1:
{{#invoke:String replace source={{#invoke:DecodeEncode decode s={{#invoke:String replace source=Xε1Xε2X pattern=ε replace=ε plain=true}}}} pattern=ε replace=E plain=true}}→ - XE1XE2X
모듈 내 B 해결 방법(씬 스페이스 예제)
해결 방법 B: 초기:en:module:DecodeEncode, 대체ε→ε
ThIN SPACE 소개: 캐릭터 U+2009 TIN SPACE(  &thinSpace;)에도 비슷한 문제가 있는 것 같습니다.  좋아요,   나빠요.
현재 코드:
기능. p._지루한( s, 부분 집합_전용 ) 현지의 리트 = 영의; s = mw.ustring.gsub( s, ' ', ' ' ) 버그 해결 방법:  는 디코딩에서 올바르게 디코딩되지만  은 디코딩되지 않습니다. 리트 = mw.본문.암호를 해독하다( s, 것은 아니다. 부분 집합_전용 ) 돌아가다 리트 끝. en:module:DecodeEncode/sandbox에서 EPSILON의 유사한 처리를 코딩했습니다.
기능. p._지루한( s, 부분 집합_전용 ) 현지의 리트 = 영의; U+2009 ThIN SPACE: 버그 해결 방법: HTML 엔티티  이(가) 잘못 디코딩되었습니다.엔티티 & ThinSpace;가 제대로 디코딩되었습니다. s = mw.ustring.gsub( s, ' ', ' ' ) U+03B5 ε 그리스어 작은 글자 EPSILON: 버그 해결 방법(phab:T328840): gsub()에 대해 HTML 엔티티 ε이(가) 잘못 디코딩되었습니다.엔티티 ε가 올바르게 디코딩됩니다. s = mw.ustring.gsub( s, 'ε', '" ) 리트 = mw.본문.암호를 해독하다( s, 것은 아니다. 부분 집합_전용 ) 돌아가다 리트 끝. - /tests 테스트 실행:
- b.
{{#invoke:String replace source={{#invoke:DecodeEncode/sandbox decode s=Xε1Xε2X}} pattern=ε replace=E plain=true}} - B1. 결과 B1 (s&r 패턴 사용 ε from
Xε1X): XE1XE2X - B2. 결과 B2 (s&r 패턴 사용 ε from
Xε2X): XE1XE2X
저는 이 방법으로 모듈을 편집할 것을 제안합니다.
해결 방법 C(mw, Lua)
MW의 변화, 루아: 저는 모릅니다.
테스트 사례 EPSILON
- 원래 오류, 이제 해결됨= 더 이상 표시되지 않음:
EPSILON ε오류 및 수정 제안(2023년 2월 16일) | |||||
|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 |
| 이드 | 엔티티 코드 | 평지 | mod:.. 디코딩(&dec;) | (디코드(...)를 E로 대체합니다. pattern=일반에서 하드코딩됨 (s=") (s=체크 문자열) | mod:..슬립/슬립 |
| 체크 스트링 | Xε1Xε2X | >Xε1Xε2X< | >Xε1Xε2X< | ||
| EPSI | ε | >계속< | >계속< | E XE1XE2X | E XE1XE2X |
| EPSILON | ε | >계속< | >계속< | E XE1XE2X | E XE1XE2X |
- 코드 변경에 대해서는 모듈(THIN SPACE 예제)의 § 해결 방법 B를 참조하십시오.
- U+2009 THIN SPACE( , &thinSpace;)와 유사한 수정 사항(원래 원인 버그는 THIN SPACE에 따라 다를 수 있음).
- Fabricator T328840이 접지력을 얻지 못했습니다.이 모듈이 아닌 mw 수준일 것입니다.
2023년 2월 16일 템플릿 보호 편집 요청
이 편집 요청에 응답했습니다.설정 answered=또는 ans=요청을 다시 활성화하려면 매개 변수를 no로 지정합니다. |
- 모듈에서 모든 코드를 복사하십시오.디코딩Encode/sandbox를 모듈로 디코딩:디코딩Encode(diff)
- 문제: HTML 엔티티의 잘못된 디코딩
ε
- reU+03B5 µ 그리스 문자 EPSILON(ε, ε)
- 변경: 엔티티로 대체하여 수정
ε
Ydecode()코드 차이 및 배경에 대한 자세한 내용은 § 해결 방법 B를 참조하십시오. 사소한 설명 변경 사항 - 토론: (1) T328840에서 보고되었지만 응답 없음(mw-level); (2) 여기 버그 보고서는 문제 없음
- 테스트 사례:§ 테스트 사례 EPSILON을 참조하십시오.
- 드피프 (대화) 6:49, 2023년 2월 16일 (UTC) [
-
완료* Pppery it has begun...* 2023년 2월 19일 03:11 (UTC) [
-
NBSP 동작
이 메모를 여기에 남깁니다.
NBSP, U+00A0 NO-BREAK SPACE( , )에 대해 설명합니다.입력 포함 엡실론(T328840, 현재 해결됨)을 연상시키는 문제가 발생했습니다.
다음과 같이 내포된 경우: (s=(s=를 대체함)AB YZ) = 교체AB_YZ)는 breaking 코드(span, sup, class와 같은 HTML/css 코드에서/사용할 때 breaking)를 반환합니다.
복제/테스트를 구축할 시간이 없으므로 지금은 그대로 두어야 합니다.phab에 보고되지 않았습니다.DePiep (대화) 2023년 2월 20일 07:27 (UTC) [
2023년 3월 21일 템플릿 보호 편집 요청
이 편집 요청에 응답했습니다.설정 answered=또는 ans=요청을 다시 활성화하려면 매개 변수를 no로 지정합니다. |
모든 코드 모듈을 교체하십시오.모듈을 사용한 디코딩Encode:디코딩Encode/sandbox. (비교)
변경사항: 적용require('strict')및 디코드 함수 로컬 명시적.드피프 (대화) 2023년 3월 21일 14:34 (UTC) [
- 초대장이 나왔습니다. - 드피프 (대화) 14:49, 2023년 3월 21일 (UTC)