모듈 토크:디코드엔코드

Module talk

버그 보고서: 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=(mw.text.decode( s=Xε1Xε2X, decodeNamedEntities=true ) ), pattern=ε, repl=E )[사이비 코드입니다, 참고 참조. 2023년 2월 7일(UTC) 21:10]
결과 3(s&r 패턴 사용 ε fromXε1X):
XE1XE2X
결과 4(s&r 패턴 사용 ε fromXε2X):
XE1XE2X
  • 예상:XE1XE2X(한 문자만)ε있음)
{{#invoke:String replace source={{#invoke:DecodeEncode decode s=Xε1Xε2X}} pattern=ε replace=E plain=true}}
XE1XE2X
- 드피프 (대화) 2023년 2월 7일(UTC) 21:10답글[답글]

해결 방법 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의 유사한 처리를 코딩했습니다.

모듈:DecodeEncode, 모듈:디코딩Encode/샌드박스 diff
기능. 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 패턴 사용 ε fromXε1X): XE1XE2X
B2. 결과 B2 (s&r 패턴 사용 ε fromXε2X): XE1XE2X

저는 이 방법으로 모듈을 편집할 것을 제안합니다.

해결 방법 C(mw, Lua)

MW의 변화, 루아: 저는 모릅니다.

  • 저는 모듈 편집을 고려할 것을 제안합니다. » 회피책 B.-DePiep (대화) 12:26, 2023년 2월 4일 (UTC) 회신 [답장]

테스트 사례 EPSILON

  • 원래 오류, 이제 해결됨= 더 이상 표시되지 않음:
(여기서 하드코딩된 설명): N으로 표시된 셀에서 결과는 "XE1Xε2X"로 표시되었습니다.즉, 위키텍스트 입력 "ε인식되지 않고 대체되었습니다. -DePiep (대화) 2023년 2월 19일 07:49 (UTC)응답 [응답]
EPSILON ε오류 및 수정 제안(2023년 2월 16일)
1 2 3 4 5 6
이드 엔티티 코드 평지 mod:.. 디코딩(&dec;) (디코드(...)를 E로 대체합니다.
pattern=일반에서 하드코딩됨
(s=")
(s=체크 문자열)
mod:..슬립/슬립
체크 스트링 X&epsi;1X&epsilon;2X >Xε1Xε2X< >Xε1Xε2X<
EPSI &epsi; >계속< >계속< E
XE1XE2X
E
XE1XE2X
EPSILON &epsilon; >계속< >계속< E
XE1XE2X
Red XN
E
XE1XE2X
U+2009 THIN SPACE(&thinsp;, &thinSpace;)와 유사한 수정 사항(원래 원인 버그는 THIN SPACE에 따라 다를 수 있음).
  • Fabricator T328840이 접지력을 얻지 못했습니다.이 모듈이 아닌 mw 수준일 것입니다.
-DePiep (대화) 6:22, 2023년 2월 16일 (UTC) 회신 [회신]

2023년 2월 16일 템플릿 보호 편집 요청

문제: HTML 엔티티의 잘못된 디코딩&epsi; Red XN
reU+03B5 µ 그리스 문자 EPSILON(&epsi;, &epsilon;)
변경: 엔티티로 대체하여 수정&epsilon; Green tick적용전 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(&nbsp;, &nbsp;)에 대해 설명합니다.입력 포함&nbsp;엡실론(T328840, 현재 해결됨)을 연상시키는 문제가 발생했습니다.

다음과 같이 내포된 경우: (s=(s=를 대체함)AB&nbsp;YZ) = 교체AB_YZ)는 breaking 코드(span, sup, class와 같은 HTML/css 코드에서/사용할 때 breaking)를 반환합니다.

복제/테스트를 구축할 시간이 없으므로 지금은 그대로 두어야 합니다.phab에 보고되지 않았습니다.DePiep (대화) 2023년 2월 20일 07:27 (UTC) 응답 [응답]

2023년 3월 21일 템플릿 보호 편집 요청

모든 코드 모듈을 교체하십시오.모듈 사용한 디코딩Encode:디코딩Encode/sandbox. (비교)

변경사항: 적용require('strict')및 디코드 함수 로컬 명시적.드피프 (대화) 2023년 3월 21일 14:34 (UTC) 응답 [응답]

  • answered=pause우선 눈이 더 필요합니다.초대하겠습니다. - 드피프 (대화) 2023년 3월 21일(UTC) 14:36, 응답 [응답]
초대장이 나왔습니다. - 드피프 (대화) 14:49, 2023년 3월 21일 (UTC) 회신 [답장]
업데이트: Gonnym은 큰 개선을 이루었기 때문에 샌드박스 차이가 큽니다.엄격한 관련 변경 사항이 보이지 않습니다.드피프 (대화) 2023년 3월 21일(UTC) 21:31 응답 [응답]
변경 사항은 양호하며 글로벌이 남아 있지 않습니다.두 개의 mw.u 문자열은 문자열일 수 있습니다.Johnuniq (대화) 6:40, 2023년 3월 22일 (UTC) 회신 [응답]
tx. 말씀하신 대로 신뢰할 수 있는 분이 ER을 해주시기 바랍니다. 왜냐하면 중간에 제가 편집/댓글을 하는 것은 도움이 되지 않기 때문입니다.드피프 (대화) 2023년 3월 22일 08:18 (UTC) 응답 [응답]
  • 세트 answered=no두 번의 긍정적인 비평 후에또한 이 샌드박스로 개발하는 동안 오류가 발생하지 않았습니다. -DePiep (talk) 2023년 3월 22일 (UTC) 09:00, Reply [reply]
완료 - 마틴(MSGJ·talk) 2023년 3월 22일(UTC) 18:35, 회신 [회신]